:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --surface-soft:#f7faff;
  --text:#0a1730;
  --muted:#50617d;
  --line:#dce6f5;
  --blue:#2168f3;
  --blue-2:#0f5df5;
  --blue-dark:#0d2347;
  --green:#16a34a;
  --purple:#7c3aed;
  --gold:#f5a500;
  --shadow:0 18px 50px rgba(20,62,130,.11);
  --shadow-soft:0 10px 28px rgba(16,44,96,.075);
  --radius:18px;
  --content:1440px;
  --gutter:clamp(20px,4.4vw,68px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.5;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.nav-open{overflow:hidden}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{text-decoration:none;color:inherit}
img,svg{display:block;max-width:100%}
.page-shell{min-height:100vh;overflow:clip}

/* Header */
.topbar{
  min-height:88px;
  display:flex;
  align-items:center;
  gap:clamp(18px,2.2vw,34px);
  padding:0 max(var(--gutter),calc((100vw - var(--content))/2 + 28px));
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  position:sticky;
  top:0;
  z-index:50;
}
.brand{display:flex;align-items:center;gap:10px;min-width:270px}
.brand-mark{width:50px;height:56px;color:var(--blue);display:grid;place-items:center;flex:0 0 auto}
.brand-mark svg{width:100%;height:100%;fill:none;stroke:currentColor}
.brand-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(17,71,132,.12))}
.brand-copy{display:flex;flex-direction:column;line-height:1;min-width:0}
.brand-copy strong{font-size:clamp(25px,2vw,30px);letter-spacing:-1.25px;white-space:nowrap}
.brand-copy strong span{color:#139da3}
.brand-copy small{margin-top:7px;font-size:12px;color:#34415d;letter-spacing:.1px;white-space:nowrap}
.nav{display:flex;align-self:stretch;align-items:center;justify-content:center;gap:clamp(15px,1.9vw,30px);flex:1}
.nav a{height:100%;display:flex;align-items:center;padding:0 4px;font-weight:560;color:#243757;position:relative;white-space:nowrap;transition:color .2s ease}
.nav a:hover,.nav a.active{color:var(--blue)}
.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:var(--blue)}
.nav-actions{display:flex;align-items:center;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:11px;font-weight:680;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn:focus-visible,.theme-btn:focus-visible,.menu-btn:focus-visible,.dash-btn:focus-visible,.auth-submit:focus-visible,.tab-row button:focus-visible{outline:3px solid rgba(33,104,243,.22);outline-offset:2px}
.btn-primary{background:linear-gradient(135deg,#2877ff,#1260ef);color:#fff;box-shadow:0 9px 22px rgba(33,104,243,.22)}
.btn-primary:hover{box-shadow:0 12px 28px rgba(33,104,243,.28)}
.btn-ghost{border-color:var(--blue);color:var(--blue);background:#fff}
.btn-outline{border-color:#6a94f4;color:#175eea;background:rgba(255,255,255,.92)}
.theme-btn,.menu-btn{width:44px;height:44px;border:0;background:transparent;color:#284363;border-radius:11px;display:grid;place-items:center;cursor:pointer;transition:background .2s ease}
.theme-btn:hover,.menu-btn:hover{background:#f1f5fb}
.theme-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.menu-btn{display:none;align-content:center;gap:5px}
.menu-btn span{display:block;width:22px;height:2px;background:currentColor;border-radius:99px;transition:.2s ease}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Home hero */
.hero{
  min-height:540px;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(500px,1.08fr);
  align-items:center;
  gap:clamp(20px,2.5vw,48px);
  padding:clamp(56px,5vw,78px) max(var(--gutter),calc((100vw - var(--content))/2 + 28px)) clamp(44px,4vw,64px);
  background:
    radial-gradient(circle at 72% 36%,rgba(113,166,255,.22),transparent 31%),
    linear-gradient(90deg,#fff 0%,#fff 42%,#edf4ff 63%,#1e71f3 100%);
  position:relative;
  isolation:isolate;
}
.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 60%,rgba(255,255,255,.025));z-index:-1}
.hero-content{position:relative;z-index:4;max-width:660px}
.trust-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#f1f7ff;color:#1765e7;font-size:14px;font-weight:680;box-shadow:inset 0 0 0 1px rgba(37,106,237,.06)}
.trust-pill i{font-style:normal;color:#79a0df}.lock-dot{color:#10a24e}
.hero h1{font-size:clamp(48px,4.05vw,68px);line-height:1.055;letter-spacing:-2.5px;margin:24px 0 20px;max-width:640px}
.hero h1 span{color:#2b67ef}
.hero p{font-size:clamp(17px,1.28vw,20px);line-height:1.6;color:var(--muted);max-width:625px;margin:0}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px 20px;margin-top:34px}
.btn-large{min-height:56px;padding:0 28px;border-radius:11px;min-width:220px}
.btn-large b{margin-left:auto;padding-left:26px;font-size:19px}.btn-large span{margin-left:auto;padding-left:22px}

/* CSS illustration */
.hero-art{width:100%;min-height:430px;position:relative;justify-self:end;max-width:720px}
.circuit-lines{position:absolute;inset:-80px -80px -50px 8%;opacity:.22;background-image:linear-gradient(90deg,transparent 95%,rgba(255,255,255,.42) 95%),linear-gradient(0deg,transparent 95%,rgba(255,255,255,.42) 95%);background-size:96px 96px;mask-image:linear-gradient(90deg,transparent,#000 30%,#000)}
.laptop{position:absolute;left:27%;top:18%;width:52%;height:53%;transform:skewY(2deg);filter:drop-shadow(0 22px 24px rgba(9,41,104,.25))}
.screen{position:absolute;inset:0 0 14%;border:8px solid #1c2e49;border-bottom-width:11px;border-radius:13px 13px 7px 7px;background:linear-gradient(145deg,#0d3367,#081f43 60%,#0d2b5b);overflow:hidden}
.screen:after{content:"";position:absolute;inset:12%;background:linear-gradient(90deg,rgba(49,118,220,.18),rgba(49,118,220,.03));border-radius:6px}
.screen-glow{position:absolute;width:60%;height:90%;left:24%;top:10%;background:radial-gradient(circle,#2f80ff 0%,rgba(47,128,255,.32) 44%,transparent 72%)}
.base{position:absolute;left:-8%;right:-7%;bottom:0;height:18%;background:linear-gradient(#a6b7cf,#e7eef7 54%,#8599b4);clip-path:polygon(5% 0,95% 0,100% 78%,58% 100%,42% 100%,0 78%);border-radius:0 0 14px 14px}
.shield{position:absolute;left:40%;top:23%;width:29%;aspect-ratio:.78;background:linear-gradient(145deg,#49a0ff,#135bea 64%,#0d46c1);clip-path:polygon(50% 0,91% 16%,87% 66%,75% 84%,50% 100%,25% 84%,13% 66%,9% 16%);filter:drop-shadow(0 16px 18px rgba(19,78,191,.38));z-index:4}
.shield:before{content:"";position:absolute;inset:6%;clip-path:inherit;background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.02));border:2px solid rgba(255,255,255,.25)}
.shield-inner{position:absolute;inset:0;display:grid;place-items:center}
.padlock{position:relative;width:56px;height:52px;background:linear-gradient(#fff,#dbe8ff);border-radius:9px;box-shadow:0 8px 20px rgba(0,29,88,.22)}
.padlock:before{content:"";position:absolute;left:12px;right:12px;top:-27px;height:35px;border:9px solid #f6f9ff;border-bottom:0;border-radius:24px 24px 0 0}
.padlock span{position:absolute;left:50%;top:21px;width:8px;height:16px;background:#123b86;border-radius:8px;transform:translateX(-50%)}
.float-file{position:absolute;width:75px;height:104px;background:linear-gradient(145deg,#f8fbff,#e4ecfb);border:1px solid rgba(255,255,255,.8);border-radius:10px;box-shadow:0 15px 24px rgba(37,69,120,.18);z-index:5;display:grid;place-items:center;padding-top:18px}
.float-file:before{content:"";position:absolute;right:0;top:0;border-style:solid;border-width:0 0 19px 19px;border-color:transparent transparent #cbd8eb transparent}
.float-file em{position:absolute;top:18px;left:-8px;color:#fff;font-size:12px;font-style:normal;font-weight:800;padding:3px 8px;border-radius:4px}
.float-file span{font-size:38px;font-weight:800}
.file-pdf{left:20%;top:22%;transform:rotate(4deg);color:#e1443f}.file-pdf em{background:#f04d43}
.file-doc{right:13%;top:29%;transform:rotate(6deg);color:#276ce7}.file-doc em{background:#2367e9}
.file-xls{left:10%;top:51%;transform:rotate(-4deg);color:#1f8db5}.file-xls em{background:#2587d0}
.file-ppt{right:1.5%;top:57%;transform:rotate(7deg);color:#f1a01f}.file-ppt em{background:#f6a511}
.folder-stack{position:absolute;right:8%;bottom:0;width:29%;height:35%;z-index:5}
.folder-stack i{position:absolute;left:12%;right:7%;height:70%;bottom:0;background:#79aaff;border-radius:9px 12px 4px 4px;border:2px solid rgba(255,255,255,.5)}
.folder-stack i:nth-child(1){bottom:26%;transform:rotate(3deg)}.folder-stack i:nth-child(2){bottom:19%;left:6%;right:11%;background:#5b91ef}.folder-stack i:nth-child(3){bottom:12%;left:3%;right:5%;background:#4b84e9}
.folder{position:absolute;inset:25% 0 0;background:linear-gradient(145deg,#2e7cf3,#0e5de5);border-radius:12px 13px 9px 9px;box-shadow:0 14px 24px rgba(14,72,168,.3)}
.folder:before{content:"";position:absolute;left:7%;top:-12%;width:39%;height:21%;background:#5c96ef;border-radius:8px 8px 0 0}
.upload-cloud{position:absolute;right:23%;bottom:0;width:92px;height:58px;border-radius:38px;background:linear-gradient(145deg,#75adff,#2e7bf0);z-index:7;box-shadow:0 13px 22px rgba(17,79,185,.28)}
.upload-cloud:before,.upload-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.upload-cloud:before{width:47px;height:47px;left:8px;top:-20px}.upload-cloud:after{width:55px;height:55px;right:7px;top:-28px}
.upload-cloud span{position:absolute;z-index:2;color:white;font-size:40px;font-weight:900;left:34px;top:-5px}
.safe-card{position:absolute;left:1%;bottom:7%;z-index:8;width:225px;min-height:90px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.8);border-radius:12px;box-shadow:0 13px 28px rgba(18,51,105,.16);display:flex;gap:13px;align-items:center;padding:16px}
.safe-card>b{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(#2ec26c,#12a350);font-size:21px;clip-path:polygon(50% 0,90% 14%,87% 67%,72% 87%,50% 100%,28% 87%,13% 67%,10% 14%)}
.safe-card strong,.safe-card small{display:block}.safe-card strong{font-size:13px}.safe-card small{font-size:11px;color:#38465d;margin-top:4px;line-height:1.35}

/* Home sections */
.features{
  padding:28px max(var(--gutter),calc((100vw - var(--content))/2 + 28px)) 42px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  background:linear-gradient(#f8fbff,#fff);
}
.feature-card{min-height:126px;padding:24px 22px;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:var(--shadow-soft);border:1px solid #edf2f9;display:flex;align-items:flex-start;gap:16px;transition:transform .2s ease,box-shadow .2s ease}
.feature-card:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(16,44,96,.11)}
.feature-card .icon{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:800}
.icon.blue,.stat-icon.blue{background:#eaf2ff;color:#2168f3}.icon.green,.stat-icon.green{background:#e9f9ef;color:#19a653}.icon.purple,.stat-icon.purple{background:#f2eaff;color:#7a42df}.icon.gold,.stat-icon.gold{background:#fff5db;color:#eda30b}
.feature-card h3{margin:0 0 7px;font-size:17px}.feature-card p{margin:0;color:#415270;font-size:14px;line-height:1.55}
.stats{margin:0 max(var(--gutter),calc((100vw - var(--content))/2 + 28px)) 30px;padding:26px clamp(24px,4vw,70px);border:1px solid #c9dbfb;border-radius:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;background:linear-gradient(90deg,#fff,#fbfdff)}
.stat{display:flex;align-items:center;gap:15px;min-width:0}.stat-icon{width:51px;height:51px;flex:0 0 51px;border-radius:50%;display:grid;place-items:center;font-weight:800}.stat strong{display:block;color:#2061d5;font-size:clamp(21px,2vw,27px);line-height:1.1}.stat small{display:block;color:#53647f;margin-top:6px;font-size:12px}
.security-banner{margin:0 max(var(--gutter),calc((100vw - var(--content))/2 + 28px)) 52px;min-height:108px;border-radius:16px;padding:20px 32px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;color:#fff;background:linear-gradient(120deg,#123b73,#0c2d5d 58%,#153e76);box-shadow:0 18px 38px rgba(18,59,115,.16)}
.security-lock{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.09);font-size:29px}.security-banner h3{margin:0 0 5px;font-size:16px}.security-banner p{margin:0;color:#d8e5fb;font-size:13px}.banner-btn{min-height:48px;padding:0 22px;border:1px solid #d3e0f7;border-radius:10px;display:flex;align-items:center;gap:28px;font-weight:680;transition:background .2s ease}.banner-btn:hover{background:rgba(255,255,255,.08)}
.info-grid{margin:0 max(var(--gutter),calc((100vw - var(--content))/2 + 28px)) 72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(42px,6vw,90px);align-items:center;padding:34px 0}
.eyebrow{font-size:12px;letter-spacing:1.8px;color:var(--blue);font-weight:800}.info-grid h2{font-size:clamp(32px,3vw,42px);line-height:1.1;letter-spacing:-1.3px;margin:12px 0 17px}.info-grid p{color:var(--muted);font-size:17px;max-width:630px;margin-bottom:0}
.mini-steps{display:grid;gap:12px}.mini-steps>div{display:flex;gap:18px;align-items:center;padding:17px 19px;border:1px solid #e2e9f5;border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(23,53,107,.05)}.mini-steps b{font-size:25px;color:#2168f3;min-width:34px}.mini-steps span{display:flex;flex-direction:column}.mini-steps small{color:#5a6982;margin-top:3px}
footer{border-top:1px solid #e5ecf6;padding:28px max(var(--gutter),calc((100vw - var(--content))/2 + 28px));display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{min-width:0}.footer-brand .brand-mark{width:34px;height:34px;font-size:22px}.footer-brand .brand-copy strong{font-size:23px}.footer-brand .brand-copy small{font-size:11px}footer p{color:#66758e;font-size:13px}

/* Auth */
.auth-body{min-height:100svh;background:linear-gradient(135deg,#f8fbff,#eaf2ff 55%,#dbe9ff);display:grid;place-items:center;padding:clamp(18px,3vw,34px)}
.auth-shell{width:min(1080px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 30px 70px rgba(24,65,130,.18);min-height:620px}
.auth-visual{position:relative;padding:clamp(40px,4vw,56px);background:linear-gradient(145deg,#0c2f66,#0f66f1);color:white;overflow:hidden}.auth-visual:after{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:rgba(255,255,255,.08);right:-180px;bottom:-160px}.auth-visual .brand{min-width:0}.auth-visual .brand-copy small{color:#d7e5ff}.auth-visual h2{font-size:clamp(36px,4vw,44px);line-height:1.12;margin:40px 0 18px;max-width:430px}.auth-visual p{color:#dce9ff;max-width:420px}.auth-points{display:grid;gap:15px;margin-top:34px}.auth-points div{display:flex;gap:12px;align-items:center}.auth-points span{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:rgba(255,255,255,.13);display:grid;place-items:center}
.auth-panel{padding:clamp(40px,5vw,64px);display:flex;flex-direction:column;justify-content:center}.auth-panel h1{font-size:clamp(32px,3vw,38px);margin:0 0 8px;letter-spacing:-.8px}.auth-panel>p{margin:0 0 28px;color:#61708a}.tab-row{display:flex;background:#f2f6fc;border-radius:11px;padding:4px;margin-bottom:24px}.tab-row button{flex:1;min-height:42px;border:0;border-radius:8px;background:transparent;color:#5f6f88;font-weight:700;cursor:pointer}.tab-row button.active{background:#fff;color:#1764ea;box-shadow:0 4px 12px rgba(27,68,126,.08)}.auth-form{display:grid;gap:17px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:7px;color:#33425e}.field input{width:100%;min-height:51px;border:1px solid #d7e0ef;border-radius:11px;padding:0 14px;outline:none;color:#15223a;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.field input:focus{border-color:#4782f4;box-shadow:0 0 0 3px rgba(71,130,244,.1)}.auth-submit{min-height:53px;border:0;border-radius:11px;background:linear-gradient(135deg,#2877ff,#0c5aeb);color:white;font-weight:760;cursor:pointer;box-shadow:0 10px 20px rgba(31,100,234,.22)}.auth-note{font-size:12px;line-height:1.5;color:#738098;margin-top:18px;text-align:center}.auth-back{display:inline-flex;margin-bottom:20px;color:#3b6bd5;font-weight:650;font-size:14px;width:max-content}

/* Dashboard */
.dashboard-body{background:#f4f7fb;min-height:100svh;color:#13213b}
.dash-layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:100svh}
.sidebar{background:#0c2550;color:white;padding:26px 18px;position:sticky;top:0;height:100svh;z-index:20}.sidebar .brand{min-width:0;color:white;padding:0 8px}.sidebar .brand-copy strong{font-size:25px}.sidebar .brand-copy small{color:#bdcbea}.side-nav{display:grid;gap:7px;margin-top:38px}.side-nav a{padding:12px 14px;border-radius:11px;color:#c5d2eb;display:flex;gap:12px;align-items:center;transition:background .2s ease,color .2s ease}.side-nav a.active,.side-nav a:hover{background:rgba(255,255,255,.1);color:#fff}.side-bottom{position:absolute;left:18px;right:18px;bottom:24px}.side-bottom .side-nav{margin:0}
.dash-main{padding:clamp(22px,3vw,38px);min-width:0;max-width:1600px;width:100%;margin:0 auto}.dash-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.dash-top>div:first-child{min-width:0}.dash-top h1{margin:0;font-size:clamp(29px,3vw,36px);letter-spacing:-.8px}.dash-top p{margin:5px 0 0;color:#6c7890}.dash-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.dash-btn{min-height:44px;padding:0 18px;border-radius:10px;border:1px solid #d5dfed;background:#fff;color:#263a5e;font-weight:700;cursor:pointer;white-space:nowrap}.dash-btn.primary{background:#1767ee;color:white;border-color:#1767ee;box-shadow:0 8px 18px rgba(23,103,238,.16)}
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0}.summary-card{background:white;border:1px solid #e6ecf4;border-radius:15px;padding:20px;box-shadow:0 7px 20px rgba(30,57,99,.04);min-width:0}.summary-card strong{display:block;font-size:29px;margin-top:14px;line-height:1}.summary-card span{color:#718098;font-size:13px}
.workspace{background:white;border:1px solid #e3e9f2;border-radius:16px;padding:20px;box-shadow:0 10px 28px rgba(27,54,96,.05);min-width:0}.workspace-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}.workspace h2{font-size:20px;margin:0}.search{min-height:43px;width:min(320px,42vw);border:1px solid #d9e1ee;border-radius:10px;padding:0 13px;outline:none}.search:focus{border-color:#4782f4;box-shadow:0 0 0 3px rgba(71,130,244,.1)}
.upload-zone{border:1.5px dashed #9fbbe9;border-radius:13px;background:#f7faff;min-height:142px;display:grid;place-items:center;text-align:center;padding:24px;margin-bottom:18px;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.upload-zone:hover{background:#f2f7ff;border-color:#6f9ce7}.upload-zone b{display:block;color:#2c63c8;font-size:15px}.upload-zone small{display:block;color:#7d8aa1;margin-top:6px}.file-list{display:grid;gap:9px}.file-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(90px,.55fr) minmax(110px,.65fr) auto;gap:12px;align-items:center;border:1px solid #edf1f7;border-radius:11px;padding:12px 14px;min-width:0}.file-name{display:flex;align-items:center;gap:11px;min-width:0}.file-icon{width:40px;height:40px;flex:0 0 40px;border-radius:9px;background:#eaf2ff;color:#2168f3;display:grid;place-items:center;font-weight:800;font-size:12px}.file-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{font-size:13px;color:#6e7b91}.file-row button{border:0;background:#f3f6fb;border-radius:8px;min-height:36px;padding:8px 11px;cursor:pointer;color:#506078}.file-row button:hover{background:#eef2f8}.empty-state{padding:30px 20px;text-align:center;color:#7a879b;border:1px dashed #dbe3ef;border-radius:11px}.mobile-dash-toggle{display:none;padding:0;width:44px}

/* Dark theme */
body.dark{--bg:#08101d;--surface:#0c1626;--surface-soft:#0c1626;--text:#e9f0ff;--muted:#a9b7cf;--line:#20304b}
.dark .topbar{background:rgba(8,16,29,.94)}.dark .brand-copy small,.dark .nav a{color:#b8c5db}.dark .btn-ghost,.dark .btn-outline{background:#0d1829}.dark .theme-btn,.dark .menu-btn{color:#cbd7ea}.dark .theme-btn:hover,.dark .menu-btn:hover{background:#111e31}
.dark .hero{background:radial-gradient(circle at 70% 35%,rgba(51,112,215,.2),transparent 32%),linear-gradient(90deg,#08101d 0%,#08101d 44%,#0d1b31 64%,#174eaa 100%)}
.dark .features{background:linear-gradient(#0b1423,#08101d)}.dark .feature-card,.dark .stats,.dark .mini-steps>div{background:#0d1829;border-color:#1d2a40}.dark .safe-card{background:rgba(13,24,41,.9);color:#fff}.dark .safe-card small{color:#c0cbe0}.dark .btn-outline{color:#7fa7ff}.dark footer{border-color:#1c2a3e}

/* Tablet */
@media (max-width:1180px){
  .topbar{min-height:82px}.brand{min-width:235px}.brand-copy small{font-size:10.5px}.nav{gap:15px}.nav-actions{gap:8px}.nav-actions .btn{padding:0 17px}
  .hero{grid-template-columns:minmax(0,.95fr) minmax(430px,1.05fr);gap:20px}.hero h1{font-size:clamp(46px,5vw,60px)}
  .features{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Mobile navigation + stacked content */
@media (max-width:980px){
  .topbar{min-height:76px;padding-inline:22px}.brand{margin-right:auto;min-width:0}.brand-mark{width:34px;height:41px}.brand-copy strong{font-size:25px}
  .nav{position:fixed;left:18px;right:18px;top:86px;display:flex;height:auto;background:#fff;border:1px solid #e3eaf4;border-radius:16px;box-shadow:0 18px 50px rgba(19,52,105,.18);padding:10px;align-items:stretch;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.985);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
  .nav.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}.nav a{min-height:48px;height:auto;padding:0 13px;border-radius:9px}.nav a:hover,.nav a.active{background:#f2f6fd}.nav a.active:after{display:none}.dark .nav{background:#0d1829;border-color:#24344e}.dark .nav a:hover,.dark .nav a.active{background:#142238}
  .menu-btn{display:grid}.nav-actions .btn{display:none}
  .hero{grid-template-columns:1fr;gap:10px;padding-top:50px;padding-bottom:38px;background:linear-gradient(180deg,#fff 0,#fff 36%,#f0f6ff 66%,#3179ef 100%)}.dark .hero{background:linear-gradient(180deg,#08101d,#08101d 36%,#0d1b31 67%,#174eaa 100%)}.hero-content{max-width:760px}.hero p{max-width:680px}.hero-art{min-height:430px;margin-top:8px;max-width:720px;justify-self:center;width:min(100%,720px)}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.security-banner{grid-template-columns:auto 1fr}.security-banner .banner-btn{grid-column:1/-1;justify-self:end}.info-grid{grid-template-columns:1fr;gap:30px}
  .auth-shell{grid-template-columns:1fr;min-height:auto}.auth-visual{display:none}.auth-panel{min-height:min(660px,calc(100svh - 36px))}
  .dash-layout{grid-template-columns:1fr}.sidebar{position:fixed;left:-290px;width:270px;z-index:80;transition:left .25s ease;box-shadow:16px 0 40px rgba(4,20,49,.18)}.sidebar.open{left:0}.mobile-dash-toggle{display:inline-flex}.dash-top>div:first-child{display:grid;grid-template-columns:auto 1fr;column-gap:12px}.dash-top h1{align-self:center}.dash-top p{grid-column:2}
}

@media (max-width:700px){
  :root{--gutter:20px}
  .topbar{min-height:72px;padding-inline:18px}.brand-mark{width:31px;height:38px}.brand-copy strong{font-size:23px}.brand-copy small{font-size:9.5px}.theme-btn{display:none}.menu-btn{width:42px;height:42px}
  .nav{left:14px;right:14px;top:80px}
  .hero{padding:40px 20px 30px;min-height:0}.trust-pill{font-size:12.5px;padding:6px 10px}.hero h1{font-size:clamp(40px,11.2vw,50px);letter-spacing:-1.8px;margin:20px 0 16px}.hero p{font-size:16.5px;line-height:1.6}.hero-actions{flex-direction:column;gap:11px;margin-top:28px}.btn-large{width:100%;min-width:0;min-height:54px;padding-inline:22px}.btn-large b,.btn-large span{padding-left:18px}
  .hero-art{min-height:350px;transform:scale(.94);transform-origin:center top;margin-bottom:-16px}.safe-card{left:0;bottom:4%;width:190px;padding:13px}.safe-card>b{width:34px;height:34px;flex-basis:34px}.safe-card small{font-size:10px}.float-file{width:68px;height:94px}.float-file span{font-size:33px}.file-ppt{right:0}
  .features{grid-template-columns:1fr;padding:22px 20px 34px;gap:14px}.feature-card{min-height:auto;padding:20px}.stats{margin:0 20px 24px;grid-template-columns:1fr 1fr;padding:20px;gap:20px 14px}.stat{gap:10px}.stat strong{font-size:21px}.stat small{font-size:11px}.stat-icon{width:42px;height:42px;flex-basis:42px}
  .security-banner{margin:0 20px 44px;padding:24px 20px;grid-template-columns:1fr;text-align:center;gap:15px}.security-lock{margin:auto}.security-banner .banner-btn{justify-self:stretch;justify-content:center}.info-grid{margin:0 20px 48px;padding:16px 0;gap:26px}.info-grid h2{font-size:32px}.info-grid p{font-size:15.5px}.mini-steps>div{padding:15px 16px;gap:14px}.mini-steps b{font-size:22px}
  footer{padding:25px 20px;flex-direction:column;text-align:center}.footer-brand .brand-copy small{display:block}
  .auth-body{padding:14px}.auth-shell{border-radius:20px}.auth-panel{padding:34px 22px;min-height:calc(100svh - 28px)}.auth-panel h1{font-size:30px}.auth-panel>p{margin-bottom:22px}.auth-back{margin-bottom:18px}
  .dash-main{padding:18px 14px}.dash-top{align-items:flex-start;flex-direction:column}.dash-top>div:first-child{width:100%}.dash-actions{width:100%;justify-content:stretch}.dash-actions .dash-btn{flex:1}.summary-grid{grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.summary-card{padding:17px}.summary-card strong{font-size:25px;margin-top:10px}.workspace{padding:15px}.workspace-head{align-items:flex-start;flex-direction:column}.search{width:100%}.upload-zone{min-height:130px;padding:20px 14px}.file-row{grid-template-columns:minmax(0,1fr) auto;padding:11px}.file-row>.file-meta{display:none}
}

@media (max-width:480px){
  .brand-copy small{display:none}.hero{padding-inline:16px}.hero h1{font-size:39px}.hero-art{min-height:300px;transform:scale(.82);width:118%;margin-left:-9%;margin-right:-9%;margin-bottom:-40px}.safe-card{bottom:2%}
  .stats,.summary-grid{grid-template-columns:1fr}.stats{padding:18px}.stat{justify-content:flex-start}.feature-card{padding:18px}.info-grid,.security-banner,.stats{margin-left:16px;margin-right:16px}.features{padding-left:16px;padding-right:16px}
  .auth-panel{padding:30px 18px}.auth-note{font-size:11px}.dash-actions{flex-direction:column}.dash-actions .dash-btn{width:100%}.summary-card{padding:16px}.workspace{border-radius:13px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* =========================================================
   seppuwa.com Dashboard — responsive workspace
   ========================================================= */
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.dashboard-body{background:#f8fbff;color:#0b1324;overflow-x:hidden}
.dashboard-body button,.dashboard-body input{font:inherit}
.dashboard-body svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-body .brand-mark svg{width:100%;height:100%}
.dash-shell{min-height:100svh;display:grid;grid-template-columns:292px minmax(0,1fr);background:#f8fbff}
.dashboard-sidebar{height:100svh;position:sticky;top:0;background:#fff;border-right:1px solid #e3ebf5;padding:20px 18px 22px;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;z-index:70;scrollbar-width:thin}
.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 6px 24px}
.dashboard-brand{min-width:0;gap:10px}.dashboard-brand .brand-mark{width:38px;height:45px}.dashboard-brand .brand-copy strong{font-size:25px}.dashboard-brand .brand-copy small{font-size:10.5px;color:#35435e;margin-top:5px}
.sidebar-close{display:none}
.icon-button{width:42px;height:42px;border:0;border-radius:11px;display:inline-grid;place-items:center;background:transparent;color:#314667;cursor:pointer;position:relative;transition:background .18s ease,color .18s ease,transform .18s ease}.icon-button:hover{background:#f2f6fc;color:#0b61ef}.icon-button:active{transform:scale(.96)}
.dashboard-nav{display:grid;gap:5px}.dash-nav-item{width:100%;min-height:45px;border:0;border-radius:10px;background:transparent;color:#304462;padding:0 11px;display:flex;align-items:center;gap:13px;text-align:left;cursor:pointer;font-weight:570;transition:background .18s ease,color .18s ease}.dash-nav-item svg{width:21px;height:21px;flex:0 0 auto}.dash-nav-item span{flex:1}.dash-nav-item em{font-style:normal;font-size:11px;min-width:23px;height:20px;padding:0 6px;display:grid;place-items:center;border-radius:999px;background:#eef4ff;color:#3369ca}.dash-nav-item:hover{background:#f3f7fd;color:#095fe8}.dash-nav-item.active{background:linear-gradient(90deg,#eef4ff,#edf3ff);color:#095fe8;font-weight:700}.dash-nav-item.active svg{stroke-width:2}
.sidebar-divider{height:1px;background:#e5ebf4;margin:18px 0}.sidebar-label{font-size:11px;color:#5e6e87;letter-spacing:.07em;margin:0 10px 9px;font-weight:700}.compact-nav{gap:4px}.compact-nav .dash-nav-item{min-height:43px}
.sidebar-storage{padding:18px 6px 0;margin-top:auto;border-top:1px solid #e5ebf4}.storage-line{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#192a45}.storage-line-actions{display:flex;align-items:center;gap:9px}.storage-line span{font-weight:700}.storage-add-button{width:28px;height:28px;border:1px solid #cbdcf7;border-radius:8px;background:#fff;color:#1768ef;display:inline-grid;place-items:center;cursor:pointer;transition:.18s ease}.storage-add-button:hover{background:#eef5ff;border-color:#93b7f2}.storage-add-button:focus-visible{outline:3px solid rgba(23,104,239,.16);outline-offset:2px}.storage-add-button svg{width:15px;height:15px;stroke-width:2.2}.sidebar-storage p{font-size:11px;color:#5d6b83;margin:7px 0}.progress{height:6px;border-radius:999px;background:#eaf0f7;overflow:hidden}.progress span{height:100%;display:block;border-radius:inherit;background:#1d6bf2;transition:width .25s ease}.storage-purchase-card{border:1px solid #dce7f6;background:#f8fbff;border-radius:13px;padding:16px;display:grid;gap:5px}.storage-purchase-card span,.storage-purchase-card small{font-size:11px;color:#697a91}.storage-purchase-card strong{font-size:20px;color:#172c4b;margin-bottom:9px}.storage-purchase-card b{font-size:15px;color:#1768ef}

.dashboard-content{min-width:0;min-height:100svh;background:#fbfdff}.dashboard-topbar{height:76px;background:rgba(255,255,255,.96);border-bottom:1px solid #e3eaf4;display:flex;align-items:center;gap:20px;padding:0 clamp(20px,2.4vw,34px);position:sticky;top:0;z-index:60;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mobile-menu-button{display:none}.top-search{height:42px;width:min(560px,48vw);border-radius:9px;background:#f5f7fa;display:flex;align-items:center;gap:11px;padding:0 13px;color:#3c4f6e;transition:box-shadow .18s ease,background .18s ease}.top-search:focus-within{background:#fff;box-shadow:0 0 0 3px rgba(33,104,243,.12),inset 0 0 0 1px #7ba5f6}.top-search svg{flex:0 0 auto}.top-search input{flex:1;border:0;outline:0;background:transparent;color:#14223a;min-width:0}.top-search input::placeholder{color:#69778c}.top-search kbd{font-family:inherit;font-size:10px;border:1px solid #dfe6ef;border-bottom-width:2px;background:#fff;color:#8290a5;border-radius:5px;padding:2px 6px}
.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.popover-wrap{position:relative}.notification-button{margin-right:2px}.notification-dot{position:absolute;right:4px;top:2px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:#ef3838;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;border:2px solid #fff}.user-button{height:48px;border:0;background:transparent;padding:0 2px 0 4px;display:flex;align-items:center;gap:10px;color:#101927;cursor:pointer;border-radius:12px}.user-button:hover{background:#f7f9fc}.user-button>svg{width:16px;height:16px}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#2b7aff,#0a55de);display:grid;place-items:center;color:#fff;font-weight:700;box-shadow:0 5px 12px rgba(31,105,238,.2)}.user-name{font-size:14px;white-space:nowrap}.top-popover{position:absolute;right:0;top:calc(100% + 12px);width:320px;background:#fff;border:1px solid #e3eaf4;border-radius:14px;box-shadow:0 18px 48px rgba(19,45,85,.17);z-index:90;padding:8px}.top-popover[hidden]{display:none}.popover-title{display:flex;align-items:center;justify-content:space-between;padding:9px 10px 12px;border-bottom:1px solid #edf1f6}.popover-title strong{font-size:14px}.popover-title button{border:0;background:none;color:#0c62ef;font-size:11px;cursor:pointer}.notification-item{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px 9px;border-radius:9px}.notification-item:hover{background:#f6f9fd}.notification-item span:first-child{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef4ff;color:#1767ee}.notification-item strong{font-size:12.5px;display:block}.notification-item small{font-size:11px;color:#7a8799}.empty-popover{font-size:12px;text-align:center;padding:22px;color:#7b8799}.user-popover{width:250px}.user-popover-head{display:flex;align-items:center;gap:11px;padding:10px;border-bottom:1px solid #edf1f6;margin-bottom:6px}.user-popover-head .avatar{width:36px;height:36px}.user-popover-head strong{display:block;font-size:13px}.user-popover-head small{font-size:10.5px;color:#788599;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-popover>a,.user-popover>button{width:100%;border:0;background:transparent;min-height:40px;border-radius:8px;padding:0 10px;display:flex;align-items:center;gap:9px;color:#31445f;cursor:pointer;text-align:left;font-size:12px}.user-popover>a:hover,.user-popover>button:hover{background:#f5f8fc}.user-popover .danger-link{color:#e34545}.user-popover svg{width:17px;height:17px}

.dashboard-main{padding:28px clamp(20px,2.5vw,38px) 44px;max-width:1600px;margin:0 auto}.dashboard-heading-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px}.dashboard-heading-row h1{font-size:clamp(25px,2.1vw,30px);line-height:1.2;letter-spacing:-.6px;margin:0;font-weight:760}.dashboard-heading-row p{margin:6px 0 0;color:#64738b;font-size:13px}.wave{font-size:.9em}.new-doc-wrap{position:relative}.new-document-btn{height:43px;border:0;border-radius:9px;background:linear-gradient(135deg,#2173f8,#0e60ef);color:#fff;padding:0 14px 0 12px;display:flex;align-items:center;gap:9px;font-weight:650;cursor:pointer;box-shadow:0 8px 20px rgba(27,101,239,.18)}.new-document-btn:hover{filter:brightness(1.03)}.new-document-btn .chev{width:16px;height:16px;margin-left:4px}.new-doc-menu{position:absolute;right:0;top:calc(100% + 8px);width:278px;border:1px solid #e1e8f2;background:#fff;border-radius:12px;box-shadow:0 18px 45px rgba(18,49,99,.16);padding:7px;z-index:40}.new-doc-menu[hidden]{display:none}.new-doc-menu button{width:100%;border:0;background:transparent;border-radius:9px;display:grid;grid-template-columns:36px 1fr;gap:9px;padding:10px;text-align:left;cursor:pointer;color:#24344e}.new-doc-menu button:hover{background:#f4f8fd}.new-doc-menu button>svg{margin-top:2px;color:#1768ef}.new-doc-menu strong{display:block;font-size:12.5px}.new-doc-menu small{display:block;color:#7b8799;font-size:10.5px;margin-top:2px}

.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric-card{min-height:119px;border:1px solid #e1e8f1;background:#fff;border-radius:14px;box-shadow:0 5px 15px rgba(19,52,97,.055);padding:19px;display:flex;align-items:center;gap:16px;min-width:0;width:100%;text-align:left;font:inherit;color:inherit;appearance:none;cursor:pointer;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.metric-card:hover{transform:translateY(-2px);border-color:#cfdcec;box-shadow:0 11px 26px rgba(19,52,97,.11)}.metric-card:active{transform:translateY(0)}.metric-card:focus-visible{outline:3px solid rgba(26,107,241,.18);outline-offset:2px;border-color:#7eabf7}.metric-open-arrow{position:absolute!important;right:14px;top:13px!important;width:24px;height:24px;display:grid!important;place-items:center;font-size:16px!important;line-height:1!important;color:#8aa0bc!important;opacity:0;transform:translateX(-4px);transition:opacity .18s ease,transform .18s ease;overflow:visible!important}.metric-card:hover .metric-open-arrow,.metric-card:focus-visible .metric-open-arrow{opacity:1;transform:translateX(0)}.metric-icon{width:58px;height:58px;flex:0 0 58px;border-radius:13px;display:grid;place-items:center}.metric-icon svg{width:29px;height:29px}.metric-blue{background:#eaf2ff;color:#1a6bf1}.metric-green{background:#e8f8ef;color:#18a351}.metric-purple{background:#f1ebff;color:#7739ed}.metric-amber{background:#fff4e0;color:#eca018}.metric-card>.metric-icon+div{min-width:0;flex:1}.metric-card span{display:block;font-size:12px;color:#344660;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-card strong{display:block;font-size:28px;line-height:1.05;margin:8px 0 6px;letter-spacing:-.5px}.metric-card small{display:block;font-size:10.5px}.positive{color:#079447}

.dashboard-grid-primary{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.95fr);grid-template-areas:"recent storage" "lower activity";gap:20px}.dash-card{background:#fff;border:1px solid #e2e8f1;border-radius:14px;box-shadow:0 7px 21px rgba(22,49,92,.05);min-width:0}.card-heading{min-height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-heading h2{font-size:15.5px;margin:0;letter-spacing:-.15px}.text-link{border:0;background:transparent;color:#0962f0;font-size:11.5px;font-weight:600;cursor:pointer;padding:7px}.text-link:hover{text-decoration:underline}.recent-card{grid-area:recent;overflow:hidden}.storage-card{grid-area:storage}.activity-card{grid-area:activity}.quick-upload-card,.categories-card{min-height:226px}.dashboard-grid-primary>.quick-upload-card{grid-area:lower;align-self:stretch;width:38%;min-width:245px}.dashboard-grid-primary>.categories-card{grid-area:lower;margin-left:calc(38% + 14px);min-width:0}

.doc-table-wrap{width:100%;overflow-x:auto;scrollbar-width:thin}.doc-table{min-width:650px}.doc-table-header,.doc-row{display:grid;grid-template-columns:minmax(250px,1.65fr) minmax(105px,.72fr) minmax(95px,.65fr) 80px 44px;align-items:center;gap:10px;padding:0 18px}.doc-table-header{height:38px;font-size:10.5px;color:#5a6880;border-bottom:1px solid #e6ebf2}.doc-row{min-height:51px;border-bottom:1px solid #edf1f5;font-size:11.5px;color:#273a58;transition:background .15s ease}.doc-row:last-child{border-bottom:0}.doc-row:hover{background:#fbfdff}.doc-name-cell{display:flex;align-items:center;gap:11px;min-width:0}.file-type-icon{width:25px;height:29px;border-radius:5px;display:grid;place-items:center;color:#fff;font-size:8px;font-weight:800;letter-spacing:-.2px;flex:0 0 auto;box-shadow:0 3px 8px rgba(31,53,85,.08)}.file-type-pdf{background:linear-gradient(135deg,#ff5555,#e51f2f)}.file-type-doc{background:linear-gradient(135deg,#2b79ef,#0c54c6)}.file-type-xls{background:linear-gradient(135deg,#30b96a,#088742)}.file-type-ppt{background:linear-gradient(135deg,#ff7448,#e64a20)}.file-type-txt{background:linear-gradient(135deg,#718096,#526174)}.file-type-img{background:linear-gradient(135deg,#8b5cf6,#6334d2)}.file-type-video{background:linear-gradient(135deg,#18a2a8,#126d8a)}.file-type-file{background:linear-gradient(135deg,#6b7f9d,#40536f)}.doc-name{font-weight:570;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#18253a}.favorite-star{color:#f5a616;font-size:14px;margin-left:1px}.category-pill{display:inline-flex;width:max-content;max-width:100%;height:23px;padding:0 9px;align-items:center;border-radius:6px;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-projects{background:#eaf2ff;color:#1666e8}.cat-reports{background:#e9f8ef;color:#0c9247}.cat-contracts{background:#f1eaff;color:#6721e4}.cat-marketing{background:#ffe9ee;color:#df3153}.cat-data{background:#fff2dd;color:#de8010}.cat-others{background:#edf1f6;color:#4f617a}.doc-menu-wrap{position:relative}.doc-menu-btn{width:34px;height:34px;border:0;background:transparent;border-radius:8px;display:grid;place-items:center;cursor:pointer;color:#314968}.doc-menu-btn:hover{background:#edf3fb}.doc-menu-btn svg{width:19px;height:19px}.doc-action-menu{position:absolute;right:7px;top:36px;width:170px;border:1px solid #dfe7f1;border-radius:10px;background:#fff;box-shadow:0 14px 36px rgba(21,50,94,.16);padding:5px;z-index:80}.doc-action-menu button{width:100%;height:36px;border:0;background:transparent;border-radius:7px;padding:0 9px;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer;color:#32455f;font-size:11px}.doc-action-menu button:hover{background:#f4f7fb}.doc-action-menu button.danger{color:#e13c46}.doc-action-menu svg{width:16px;height:16px}.doc-action-menu[hidden]{display:none}

.storage-overview{display:grid;grid-template-columns:142px 1fr;align-items:center;gap:17px;padding:12px 20px 24px}.storage-ring{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#1f6cf3 0 19%,#23a95d 19% 23%,#f4a61b 23% 24%,#e7edf5 24% 100%);position:relative;transform:rotate(14deg)}.storage-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}.storage-ring>div{position:relative;z-index:2;text-align:center;transform:rotate(-14deg)}.storage-ring strong{font-size:24px;display:block;line-height:1}.storage-ring span{font-size:10.5px;color:#5d6a80}.storage-detail h3{font-size:15.5px;margin:0}.storage-detail h3 small{font-weight:500}.storage-detail>p{font-size:11px;color:#64718a;margin:3px 0 13px}.storage-detail ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.storage-detail li{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:8px;font-size:10.5px;color:#3e4d66}.storage-detail li strong{font-weight:500}.dot{width:8px;height:8px;border-radius:50%}.doc-dot{background:#1f6cf3}.shared-dot{background:#22a65b}.other-dot{background:#f2aa21}

.quick-upload-zone{height:165px;margin:0 15px 16px;border:1.5px dashed #a8c5f2;border-radius:10px;background:#fbfdff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.quick-upload-zone.drag-active,.quick-upload-zone:hover{background:#f2f7ff;border-color:#4f8df3}.upload-cloud-icon{width:44px;height:44px;border-radius:50%;background:#eaf2ff;color:#1e70f4;display:grid;place-items:center;margin-bottom:7px}.upload-cloud-icon svg{width:24px;height:24px}.quick-upload-zone strong{font-size:11px;color:#354763}.quick-upload-zone>span:not(.upload-cloud-icon){font-size:10px;color:#738198;margin:3px}.quick-upload-zone b{font-size:10.5px;font-weight:600;color:#0861f0;border:1px solid #9ebdf0;border-radius:7px;background:#fff;padding:5px 15px}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 14px 16px}.category-tile{border:1px solid #e3e9f2;background:#fff;border-radius:10px;min-width:0;padding:10px;display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left;color:#263853}.category-tile:hover{border-color:#afc8ef;background:#fbfdff}.category-icon{width:34px;height:34px;flex:0 0 34px;border-radius:8px;display:grid;place-items:center}.category-icon svg{width:18px;height:18px}.category-tile strong{display:block;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-tile small{display:block;color:#70809a;font-size:9px;margin-top:2px}.category-tile[data-category="Projects"] .category-icon{background:#eaf2ff;color:#1667e9}.category-tile[data-category="Reports"] .category-icon{background:#e9f8ef;color:#13994e}.category-tile[data-category="Contracts"] .category-icon{background:#f0e8ff;color:#6c2de8}.category-tile[data-category="Marketing"] .category-icon{background:#ffe9ee;color:#e63b5e}.category-tile[data-category="Data"] .category-icon{background:#fff3df;color:#dd8c13}.category-tile[data-category="Others"] .category-icon{background:#edf1f6;color:#536680}
.activity-list{padding:0 17px 16px;display:grid;gap:3px}.activity-item{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:flex-start;padding:8px 0}.activity-icon{width:35px;height:35px;border-radius:50%;display:grid;place-items:center}.activity-icon svg{width:18px;height:18px}.activity-upload{background:#e6f7ed;color:#16a153}.activity-share{background:#f0e9ff;color:#7138e8}.activity-download{background:#eaf2ff;color:#1c6bf0}.activity-delete{background:#ffe9ed;color:#ed4054}.activity-item p{font-size:10.5px;line-height:1.5;margin:1px 0 0;color:#31445f}.activity-item small{font-size:9.5px;color:#71809a;display:block;margin-top:2px}

.collection-view{margin-top:4px}.collection-card{overflow:visible;min-height:560px}.collection-toolbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid #e7edf4}.collection-filters{display:flex;gap:7px;flex-wrap:wrap}.filter-chip{height:32px;border:1px solid #dce5f0;border-radius:8px;background:#fff;color:#52627b;padding:0 11px;font-size:10.5px;cursor:pointer}.filter-chip.active,.filter-chip:hover{border-color:#8eb3f2;background:#f3f7ff;color:#0d62ed}.collection-actions{display:flex;gap:8px}.secondary-button{height:36px;border:1px solid #d7e1ee;background:#fff;color:#34506f;border-radius:8px;padding:0 12px;display:inline-flex;align-items:center;gap:7px;font-size:10.5px;font-weight:650;cursor:pointer}.secondary-button:hover{background:#f4f7fb}.secondary-button svg{width:16px;height:16px}.full-table{min-width:760px}.full-table .doc-table-header,.full-table .doc-row{grid-template-columns:minmax(280px,1.6fr) minmax(110px,.65fr) minmax(110px,.65fr) 90px 44px;min-height:54px}.collection-empty{padding:90px 25px;text-align:center;color:#718099}.collection-empty .empty-icon{width:64px;height:64px;border-radius:18px;background:#eef4ff;color:#2e74ee;display:grid;place-items:center;margin:0 auto 16px}.collection-empty .empty-icon svg{width:30px;height:30px}.collection-empty h3{margin:0 0 6px;color:#2d405d;font-size:15px}.collection-empty p{font-size:11.5px;margin:0}
.category-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.category-page-card{background:#fff;border:1px solid #e1e8f1;border-radius:14px;padding:18px;box-shadow:0 7px 20px rgba(22,49,92,.04);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.category-page-card:hover{transform:translateY(-2px);border-color:#b7ccef;box-shadow:0 12px 28px rgba(22,49,92,.08)}.category-page-card .category-icon{width:45px;height:45px;margin-bottom:20px}.category-page-card .category-icon svg{width:23px;height:23px}.category-page-card h3{font-size:14px;margin:0 0 4px}.category-page-card p{font-size:10.5px;color:#70809a;margin:0}.category-page-card .progress{margin-top:18px;height:5px}
.activity-log-card{padding-bottom:10px}.activity-log-list{padding:2px 18px 18px}.activity-log-list .activity-item{border-bottom:1px solid #edf1f5;padding:14px 0}.activity-log-list .activity-item:last-child{border-bottom:0}.activity-log-list .activity-item p{font-size:12px}.activity-log-list .activity-item small{font-size:10.5px}

.sidebar-overlay{position:fixed;inset:0;background:rgba(10,22,40,.32);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:65}.sidebar-overlay[hidden]{display:none}
.modal-backdrop{position:fixed;inset:0;background:rgba(11,25,47,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:120;display:grid;place-items:center;padding:18px}.modal-backdrop[hidden]{display:none}.dash-modal{width:min(440px,100%);max-height:min(720px,calc(100svh - 36px));overflow:auto;background:#fff;border-radius:17px;box-shadow:0 30px 90px rgba(10,27,57,.28);padding:28px;position:relative}.modal-close{position:absolute;right:15px;top:15px}.modal-icon{width:48px;height:48px;border-radius:13px;background:#eaf2ff;color:#1768ef;display:grid;place-items:center;margin-bottom:17px}.modal-icon svg{width:24px;height:24px}.dash-modal h2{font-size:20px;margin:0 42px 7px 0}.dash-modal>p{font-size:12px;color:#69768b;line-height:1.6;margin:0 0 18px}.modal-field{display:grid;gap:7px;margin:13px 0}.modal-field label{font-size:11px;font-weight:650;color:#34455e}.modal-field input,.modal-field textarea,.modal-field select{width:100%;border:1px solid #d7e1ee;border-radius:9px;background:#fff;color:#1a2940;min-height:42px;padding:9px 11px;outline:0;font:inherit;font-size:12px}.modal-field textarea{min-height:120px;resize:vertical}.modal-field input:focus,.modal-field textarea:focus,.modal-field select:focus{border-color:#6e9df1;box-shadow:0 0 0 3px rgba(33,104,243,.1)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.modal-button{height:40px;border-radius:9px;border:1px solid #d7e0eb;background:#fff;color:#3b4f6a;padding:0 15px;font-size:11.5px;font-weight:700;cursor:pointer}.modal-button.primary{border-color:#1767ee;background:#1767ee;color:#fff}.modal-button.danger{border-color:#e3404b;background:#e3404b;color:#fff}.modal-button:hover{filter:brightness(.985)}.security-list{display:grid;gap:10px}.security-check{border:1px solid #e4eaf2;border-radius:10px;padding:12px;display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:center}.security-check>span{width:32px;height:32px;border-radius:50%;background:#e7f8ef;color:#14964a;display:grid;place-items:center}.security-check svg{width:17px;height:17px}.security-check strong{font-size:11.5px;display:block}.security-check small{font-size:10px;color:#758198}
.toast-stack{position:fixed;right:20px;bottom:20px;z-index:150;display:grid;gap:9px;width:min(360px,calc(100vw - 40px));pointer-events:none}.toast{background:#102540;color:#fff;border-radius:11px;box-shadow:0 16px 42px rgba(12,31,60,.24);padding:12px 14px;display:grid;grid-template-columns:27px 1fr;gap:9px;align-items:center;font-size:11.5px;animation:toast-in .22s ease both}.toast.success>span{background:#17a457}.toast.error>span{background:#e1444f}.toast>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;font-weight:800}.toast p{margin:0;line-height:1.45}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media (min-width:1380px){
  .dash-shell{grid-template-columns:306px minmax(0,1fr)}.dashboard-sidebar{padding-left:20px;padding-right:20px}.dashboard-main{padding-left:34px;padding-right:34px}.metric-grid{gap:18px}.dashboard-grid-primary{gap:22px}.doc-table-header,.doc-row{grid-template-columns:minmax(270px,1.65fr) minmax(110px,.72fr) minmax(110px,.65fr) 86px 44px}
}
@media (max-width:1180px){
  .dash-shell{grid-template-columns:250px minmax(0,1fr)}.dashboard-sidebar{padding-left:14px;padding-right:14px}.dashboard-brand .brand-copy small{display:none}.dashboard-brand .brand-copy strong{font-size:23px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid-primary{grid-template-columns:minmax(0,1.3fr) minmax(290px,.8fr)}.dashboard-grid-primary>.quick-upload-card{width:42%;min-width:220px}.dashboard-grid-primary>.categories-card{margin-left:calc(42% + 14px)}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-overview{grid-template-columns:118px 1fr;padding-inline:15px}.storage-ring{width:110px;height:110px}.storage-ring strong{font-size:21px}.user-name{display:none}.top-search{width:min(510px,52vw)}
}
@media (max-width:940px){
  .dash-shell{grid-template-columns:1fr}.dashboard-sidebar{position:fixed;left:0;top:0;width:min(300px,86vw);transform:translateX(-104%);box-shadow:20px 0 50px rgba(12,30,59,.18);transition:transform .22s ease;z-index:70}.dashboard-sidebar.open{transform:none}.sidebar-close{display:grid}.mobile-menu-button{display:grid}.dashboard-topbar{padding-inline:15px;gap:10px}.top-search{width:auto;flex:1;max-width:none}.top-search kbd{display:none}.dashboard-main{padding:22px 18px 38px}.dashboard-grid-primary{grid-template-columns:1fr;grid-template-areas:"recent" "storage" "activity" "lower"}.dashboard-grid-primary>.quick-upload-card{grid-area:lower;width:38%;min-width:250px}.dashboard-grid-primary>.categories-card{grid-area:lower;margin-left:calc(38% + 16px)}.storage-overview{grid-template-columns:132px 1fr}.storage-ring{width:120px;height:120px}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .dashboard-topbar{height:66px}.topbar-actions{gap:2px}.topbar-actions>.icon-button:first-of-type{display:none}.top-search{height:40px}.top-search input{font-size:13px}.user-button{height:42px}.avatar{width:34px;height:34px}.user-button>svg{display:none}.dashboard-main{padding:18px 14px 86px}.dashboard-heading-row{align-items:flex-start;margin-bottom:17px}.dashboard-heading-row h1{font-size:23px}.dashboard-heading-row p{font-size:12px;line-height:1.5}.new-document-btn{width:42px;height:42px;padding:0;justify-content:center}.new-document-btn span,.new-document-btn .chev{display:none}.new-document-btn>svg:first-child{width:22px;height:22px}.new-doc-menu{right:0;width:min(278px,calc(100vw - 28px))}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.metric-card{min-height:100px;padding:13px;gap:11px;border-radius:12px}.metric-icon{width:43px;height:43px;flex-basis:43px;border-radius:10px}.metric-icon svg{width:23px;height:23px}.metric-card span{font-size:10px}.metric-card strong{font-size:22px;margin:6px 0 4px}.metric-card small{font-size:9px}.dashboard-grid-primary{gap:14px}.card-heading{min-height:52px;padding:0 14px}.card-heading h2{font-size:14px}.doc-table{min-width:0}.doc-table-header{display:none}.doc-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px;min-height:64px;position:relative}.doc-row>.doc-category,.doc-row>.doc-modified,.doc-row>.doc-size{display:none}.doc-name-cell{gap:10px}.file-type-icon{width:31px;height:35px}.doc-name{font-size:11.5px}.doc-row .doc-menu-wrap{align-self:center}.storage-overview{grid-template-columns:118px 1fr;gap:11px;padding:8px 14px 18px}.storage-ring{width:104px;height:104px}.storage-ring strong{font-size:19px}.storage-detail h3{font-size:14px}.storage-detail li{font-size:9.5px}.dashboard-grid-primary>.quick-upload-card{grid-area:auto;width:auto;min-width:0}.dashboard-grid-primary>.categories-card{grid-area:auto;margin-left:0}.activity-card{grid-area:auto}.quick-upload-card,.categories-card{min-height:auto}.quick-upload-zone{height:140px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-toolbar{align-items:flex-start;flex-direction:column}.collection-actions{width:100%}.collection-actions .secondary-button{flex:1;justify-content:center}.full-table{min-width:0}.full-table .doc-row{grid-template-columns:minmax(0,1fr) auto}.category-page-grid{grid-template-columns:1fr;gap:12px}.category-page-card{padding:15px;display:grid;grid-template-columns:44px 1fr;column-gap:12px}.category-page-card .category-icon{width:42px;height:42px;margin:0;grid-row:1/3}.category-page-card .progress{grid-column:1/-1}.top-popover{position:fixed;right:12px;top:72px;width:min(330px,calc(100vw - 24px))}.user-popover{width:min(260px,calc(100vw - 24px))}.dash-modal{padding:24px 20px}.toast-stack{right:12px;bottom:12px;width:calc(100vw - 24px)}
}
@media (max-width:430px){
  .dashboard-topbar{padding-inline:10px;gap:6px}.mobile-menu-button{width:38px;height:38px}.top-search{padding-inline:10px}.top-search svg{width:18px;height:18px}.topbar-actions .notification-button{width:38px;height:38px}.user-button{padding:0}.user-button .avatar{width:33px;height:33px}.dashboard-main{padding-inline:11px}.dashboard-heading-row{gap:12px}.dashboard-heading-row h1{font-size:21px}.dashboard-heading-row p{font-size:11px;max-width:250px}.metric-grid{gap:8px}.metric-card{padding:11px;gap:9px}.metric-icon{width:39px;height:39px;flex-basis:39px}.metric-icon svg{width:21px;height:21px}.metric-card strong{font-size:20px}.metric-card span{font-size:9px}.metric-card small{font-size:8.5px}.storage-overview{grid-template-columns:100px 1fr}.storage-ring{width:92px;height:92px}.storage-ring:after{inset:8px}.storage-ring strong{font-size:17px}.category-grid{gap:8px;padding-inline:11px}.category-tile{padding:8px}.category-icon{width:30px;height:30px;flex-basis:30px}.category-tile strong{font-size:9.5px}.category-tile small{font-size:8.5px}
}
@media (max-width:360px){.metric-grid{grid-template-columns:1fr}.metric-card{min-height:88px}.dashboard-heading-row p{max-width:210px}.storage-overview{grid-template-columns:1fr;text-align:center}.storage-ring{margin:auto}.storage-detail ul{text-align:left}}

/* ---------- SecureDoc production-auth UI ---------- */
.auth-shell-pro{min-height:min(720px,calc(100svh - 44px));max-width:1140px}
.auth-shell-pro .auth-visual{display:flex;flex-direction:column;justify-content:space-between}
.auth-visual-copy{position:relative;z-index:1;margin:auto 0;max-width:470px}
.auth-visual-copy .auth-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:1.15px;color:#cfe0ff;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 11px}
.auth-shell-pro .auth-visual h2{margin:22px 0 16px;font-size:clamp(37px,4.1vw,51px);letter-spacing:-1.5px;max-width:470px}
.auth-shell-pro .auth-visual p{font-size:15px;line-height:1.75}
.auth-shell-pro .auth-points{margin-top:30px;gap:14px}
.auth-shell-pro .auth-points>div{align-items:flex-start;padding:11px 13px;border:1px solid rgba(255,255,255,.10);border-radius:13px;background:rgba(255,255,255,.055)}
.auth-shell-pro .auth-points>div>span{font-size:13px;font-weight:900;margin-top:1px}
.auth-shell-pro .auth-points p{margin:0;line-height:1.25;color:#fff}
.auth-shell-pro .auth-points strong{display:block;font-size:13px}.auth-shell-pro .auth-points small{display:block;font-size:11px;font-weight:450;color:#d8e7ff;margin-top:5px;line-height:1.45}
.auth-trust{position:relative;z-index:1;font-size:10.5px;color:#d6e5ff;display:flex;align-items:center;gap:8px}.trust-dot{width:8px;height:8px;border-radius:50%;background:#4fe086;box-shadow:0 0 0 5px rgba(79,224,134,.12)}
.auth-panel-pro{padding:clamp(32px,4.2vw,56px);justify-content:flex-start;overflow:auto}
.auth-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:24px}.auth-mini-shield{width:43px;height:43px;border-radius:12px;background:#edf4ff;display:grid;place-items:center;flex:0 0 auto;font-size:19px}.auth-heading h1{font-size:clamp(29px,3vw,36px);margin:0 0 6px}.auth-heading p{margin:0;color:#687690;font-size:13px;line-height:1.55}
.auth-panel-pro .tab-row{margin-bottom:20px}.auth-panel-pro .auth-form{gap:15px}
.signup-section{display:block}.signup-section[hidden],.signup-only[hidden]{display:none!important}.name-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.input-action-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:stretch}.input-wrap{position:relative}.input-wrap input{padding-left:39px!important;padding-right:39px!important}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:800;color:#7c8aa2;pointer-events:none}.verified-badge{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:23px;height:23px;border-radius:50%;background:#e1f8ea;color:#15984b;display:grid;place-items:center;font-size:13px;font-weight:900}
.inline-action{min-width:112px;border:1px solid #bfd3f7;background:#f8fbff;color:#1764e8;border-radius:11px;padding:0 14px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:.18s ease}.inline-action:hover:not(:disabled){border-color:#75a4f4;background:#edf5ff}.inline-action:disabled{opacity:.58;cursor:not-allowed}.inline-action.loading{color:transparent;position:relative}.inline-action.loading:after{content:"";position:absolute;width:15px;height:15px;border:2px solid #91b5ef;border-top-color:#1764e8;border-radius:50%;left:50%;top:50%;margin:-8px;animation:authSpin .7s linear infinite}
.otp-action-row{grid-template-columns:minmax(0,1fr) 104px}.otp-action-row input{text-align:center;font-size:20px;font-weight:800;letter-spacing:7px}.verify-action{background:#1768ef;color:white;border-color:#1768ef}.verify-action:hover:not(:disabled){background:#0d5bdd;border-color:#0d5bdd}.otp-meta{display:flex;align-items:center;gap:10px;justify-content:space-between;min-height:22px;margin-top:3px}.field-help{font-size:10.8px;line-height:1.45;color:#7a879b}.success-text{color:#169a4e}.error-text{color:#dc3d4b}.resend-link{border:0;background:transparent;padding:0;color:#1768ef;font-size:10.8px;font-weight:800;cursor:pointer;white-space:nowrap}.resend-timer{font-size:10.8px;color:#8b97a8;white-space:nowrap}
.password-wrap{position:relative}.password-wrap input{padding-right:63px!important}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);height:32px;padding:0 8px;border:0;background:transparent;color:#4f6b96;font-size:10.5px;font-weight:800;cursor:pointer}
.signup-verification-state{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center;border:1px solid #dbe4f0;background:#f8fafd;border-radius:11px;padding:10px 12px}.signup-verification-state .state-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#e9eef6;color:#6d7c92;font-weight:900}.signup-verification-state strong{display:block;font-size:11.5px;color:#34425a}.signup-verification-state small{display:block;font-size:9.8px;line-height:1.4;color:#7d899b;margin-top:2px}.signup-verification-state.verified{border-color:#c7edd7;background:#f2fbf6}.signup-verification-state.verified .state-icon{background:#dff6e8;color:#15984a}.signup-verification-state.verified strong{color:#167f43}.verified-input{border-color:#7dd3a2!important;box-shadow:0 0 0 3px rgba(40,179,100,.08)!important}
.auth-alert{border-radius:11px;padding:11px 13px;margin:-5px 0 17px;font-size:11.5px;line-height:1.5;border:1px solid #f3c5cb;background:#fff5f6;color:#bd3542}.auth-alert.success{border-color:#c8ead6;background:#f2fbf6;color:#147c41}.auth-alert[hidden]{display:none}
.auth-submit:disabled{cursor:not-allowed;opacity:.58;box-shadow:none}.auth-submit.loading{position:relative}.auth-submit.loading .button-label{opacity:0}.button-spinner{display:none;position:absolute;width:19px;height:19px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;left:50%;top:50%;margin:-10px}.auth-submit.loading .button-spinner{display:block;animation:authSpin .7s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}
.auth-security-note{display:grid;grid-template-columns:33px 1fr;gap:10px;align-items:flex-start;margin-top:16px;padding-top:15px;border-top:1px solid #edf1f6}.auth-security-note>span{width:31px;height:31px;border-radius:9px;background:#f0f5fd;display:grid;place-items:center;font-size:13px}.auth-security-note p{margin:0}.auth-security-note strong{display:block;font-size:10.8px;color:#40516d}.auth-security-note small{display:block;font-size:9.5px;color:#8792a3;line-height:1.5;margin-top:3px}
@media (max-width:980px){.auth-shell-pro{max-width:620px}.auth-shell-pro .auth-panel-pro{min-height:auto}.auth-panel-pro{padding:36px 32px}}
@media (max-width:560px){.auth-body{padding:0;background:#fff}.auth-shell-pro{border-radius:0;box-shadow:none;min-height:100svh;width:100%}.auth-panel-pro{padding:26px 18px 34px;min-height:100svh}.auth-back{margin-bottom:21px}.auth-heading{gap:10px;margin-bottom:21px}.auth-mini-shield{width:39px;height:39px}.auth-heading h1{font-size:28px}.tab-row{border-radius:10px}.name-grid{grid-template-columns:1fr;gap:15px}.signup-email-row{grid-template-columns:1fr}.signup-email-row .inline-action{min-height:47px}.otp-action-row{grid-template-columns:minmax(0,1fr) 92px}.otp-action-row input{letter-spacing:5px}.otp-meta{align-items:flex-start;flex-wrap:wrap}.auth-security-note{margin-top:18px}.field input{min-height:49px}.auth-submit{min-height:51px}}
@media (max-width:380px){.auth-panel-pro{padding-inline:14px}.auth-heading h1{font-size:25px}.otp-action-row{grid-template-columns:1fr}.verify-action{min-height:45px}}

/* Authenticated dashboard gate */
.session-gate{position:fixed;inset:0;z-index:999;background:rgba(247,250,255,.96);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center;padding:20px}.session-gate-card{width:min(310px,100%);background:#fff;border:1px solid #e1e8f2;border-radius:18px;box-shadow:0 22px 60px rgba(27,63,118,.14);padding:28px;text-align:center}.session-gate-lock{width:52px;height:52px;border-radius:15px;background:#edf4ff;display:grid;place-items:center;margin:0 auto 14px;font-size:22px}.session-gate-card strong{display:block;font-size:15px}.session-gate-card small{display:block;color:#75829a;font-size:11px;margin-top:6px}.session-gate-card i{display:block;width:48px;height:3px;border-radius:999px;background:#e7edf6;margin:18px auto 0;overflow:hidden;position:relative}.session-gate-card i:after{content:"";position:absolute;inset:0;width:50%;background:#1768ef;border-radius:999px;animation:gateLoad 1s ease-in-out infinite alternate}@keyframes gateLoad{from{transform:translateX(-70%)}to{transform:translateX(170%)}}


/* Secure multi-file upload progress manager */
.upload-manager{position:fixed;right:20px;bottom:20px;width:min(430px,calc(100vw - 40px));z-index:120;background:#fff;border:1px solid #dfe7f2;border-radius:16px;box-shadow:0 22px 60px rgba(17,42,82,.22);overflow:hidden;animation:uploadManagerIn .2s ease both}.upload-manager[hidden]{display:none!important}@keyframes uploadManagerIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}.upload-manager-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto 30px;gap:10px;align-items:center;padding:14px 14px 12px}.upload-manager-head-icon{width:38px;height:38px;border-radius:11px;background:#eaf2ff;color:#1768f2;display:grid;place-items:center}.upload-manager-head-icon svg{width:20px;height:20px}.upload-manager-head-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.upload-manager-head-copy strong{font-size:13.5px;color:#0c1d38;line-height:1.2}.upload-manager-head-copy span{font-size:10.5px;color:#6e7d95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-manager-overall-pct{font-size:12px;color:#1c64e8;font-variant-numeric:tabular-nums}.upload-manager-close{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#6d7c93;display:grid;place-items:center;cursor:pointer}.upload-manager-close svg{width:17px;height:17px}.upload-manager-close:hover:not(:disabled){background:#f1f5fa;color:#172943}.upload-manager-close:disabled{opacity:.32;cursor:not-allowed}.upload-manager-overall{height:4px;background:#edf2f8}.upload-manager-overall>span{display:block;height:100%;width:0;background:#1d6bf2;transition:width .18s linear}.upload-manager-list{max-height:310px;overflow:auto;padding:7px 10px 10px;display:grid;gap:5px}.upload-job{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:10px;align-items:center;padding:9px 8px;border-radius:11px;transition:background .18s ease}.upload-job:hover{background:#f8faff}.upload-job .file-type-icon{width:34px;height:38px;font-size:8px;border-radius:7px}.upload-job-main{min-width:0}.upload-job-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.upload-job-top>strong{font-size:11.5px;color:#172843;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-job-top>span{font-size:9.5px;color:#8693a7;white-space:nowrap}.upload-job-status{font-size:9.5px;color:#6d7d95;margin:3px 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-progress-track{height:5px;border-radius:999px;background:#edf2f8;overflow:hidden}.upload-progress-track>span{display:block;height:100%;border-radius:inherit;background:#1d6bf2;transition:width .14s linear}.upload-job-trailing{display:grid;place-items:center;min-width:34px}.upload-job-percent{font-size:10.5px;color:#426083;font-variant-numeric:tabular-nums}.upload-job-check,.upload-job-error{width:26px;height:26px;border-radius:50%;display:grid;place-items:center}.upload-job-check{background:#e4f8ec;color:#13a052}.upload-job-check svg{width:15px;height:15px;stroke-width:2.5}.upload-job-error{background:#ffebee;color:#de3048;font-size:13px;font-weight:800}.upload-state-verifying .upload-progress-track>span{background:#7b5cf1}.upload-state-complete .upload-progress-track>span{background:#16a35a}.upload-state-complete .upload-job-status{color:#16894d;font-weight:600}.upload-state-error .upload-progress-track>span{background:#e5485c}.upload-state-error .upload-job-status{color:#c43449}.upload-manager-foot{min-height:36px;border-top:1px solid #edf1f6;background:#f8faff;color:#718098;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;font-size:9.5px}.upload-manager-foot svg{width:13px;height:13px;color:#1b68ee}
@media(max-width:620px){.upload-manager{left:10px;right:10px;bottom:10px;width:auto;border-radius:15px}.upload-manager-head{grid-template-columns:36px minmax(0,1fr) auto 28px;padding:12px 11px 10px;gap:8px}.upload-manager-head-icon{width:36px;height:36px}.upload-manager-head-copy strong{font-size:12.5px}.upload-manager-head-copy span{font-size:9.5px}.upload-manager-list{max-height:min(44vh,300px);padding-inline:7px}.upload-job{grid-template-columns:35px minmax(0,1fr) 34px;gap:8px;padding:8px 6px}.upload-job .file-type-icon{width:31px;height:35px}.upload-job-top>strong{font-size:10.5px;max-width:66vw}.upload-job-top>span{display:none}.upload-manager-foot{font-size:9px}}


/* =========================================================
   Dashboard reliability + mobile actions patch — 2026-08-21
   ========================================================= */
.sidebar-close{display:none!important}

.doc-select-cell{width:28px;height:34px;display:grid;place-items:center;cursor:pointer;flex:0 0 auto;position:relative}
.doc-select-cell input{position:absolute;opacity:0;pointer-events:none}
.selection-box{width:17px;height:17px;border:1.5px solid #b9c7d9;border-radius:5px;background:#fff;display:grid;place-items:center;transition:.15s ease;box-shadow:0 1px 2px rgba(28,52,88,.04)}
.doc-select-cell input:checked + .selection-box{border-color:#1768ef;background:#1768ef}
.doc-select-cell input:checked + .selection-box:after{content:"";width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.doc-select-cell input:focus-visible + .selection-box{outline:3px solid rgba(23,104,239,.18);outline-offset:2px}
.doc-row.is-selected{background:#f4f8ff}
.doc-row.is-selected:hover{background:#eef5ff}
.full-table .doc-table-header.selectable,.full-table .doc-row.selectable{grid-template-columns:28px minmax(260px,1.6fr) minmax(105px,.65fr) minmax(105px,.65fr) 86px 44px}

.bulk-action-bar{margin:10px 14px 12px;padding:10px 12px;border:1px solid #cfe0fa;border-radius:11px;background:linear-gradient(180deg,#f7faff,#f2f7ff);display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 7px 18px rgba(31,84,161,.06)}
.bulk-action-bar[hidden]{display:none!important}.bulk-selection-summary{display:flex;align-items:center;gap:9px;min-width:0}.bulk-selection-summary strong{font-size:11.5px;color:#17345e;white-space:nowrap}.bulk-selection-summary button{border:0;background:transparent;color:#1768ef;font-size:10.5px;font-weight:700;cursor:pointer;padding:5px}.bulk-action-buttons{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.bulk-button{height:34px;border:1px solid #cbd9eb;background:#fff;color:#284868;border-radius:8px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:10.5px;font-weight:700;cursor:pointer;transition:.15s ease}.bulk-button:hover:not(:disabled){background:#edf4ff;border-color:#a9c6f0;color:#0c60e7}.bulk-button.danger{color:#d63d4d;border-color:#f0c9cf}.bulk-button.danger:hover:not(:disabled){background:#fff2f4;border-color:#e9aab3;color:#c52f40}.bulk-button:disabled{opacity:.5;cursor:not-allowed}.bulk-button svg{width:15px!important;height:15px!important}

.doc-action-menu-portal{position:fixed!important;z-index:1000!important;right:auto;top:auto;width:184px;max-height:min(360px,calc(100vh - 20px));overflow:auto;overscroll-behavior:contain}.doc-action-menu-portal[hidden]{display:none!important}.doc-menu-btn{touch-action:manipulation}
@media (hover:none){.doc-menu-btn{background:#f6f9fd}}

@media (max-width:940px){.sidebar-close{display:inline-grid!important}.dashboard-sidebar{padding-bottom:max(22px,env(safe-area-inset-bottom))}}
@media (max-width:700px){
  .dashboard-main{padding-bottom:max(92px,calc(74px + env(safe-area-inset-bottom)))}.dashboard-heading-row{gap:10px}.dashboard-heading-row>div:first-child{min-width:0}.dashboard-heading-row p{max-width:min(70vw,360px)}
  .doc-action-menu-portal{left:12px!important;right:12px!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:auto!important;max-height:65vh;border-radius:15px;padding:7px;box-shadow:0 22px 70px rgba(10,31,63,.28);animation:mobileDocMenuIn .18s ease both}.doc-action-menu-portal button{height:44px;font-size:12px;border-radius:9px}.doc-action-menu-portal svg{width:18px;height:18px}@keyframes mobileDocMenuIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  .full-table .doc-row.selectable{grid-template-columns:28px minmax(0,1fr) 40px;padding:9px 10px;gap:8px}.full-table .doc-row.selectable>.doc-category,.full-table .doc-row.selectable>.doc-modified,.full-table .doc-row.selectable>.doc-size{display:none}.full-table .doc-row.selectable .doc-menu-wrap{justify-self:end}.full-table .doc-table-header.selectable{display:none}
  .bulk-action-bar{position:sticky;top:72px;z-index:24;margin:8px 8px 10px;padding:9px;align-items:stretch;flex-direction:column;background:rgba(247,250,255,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.bulk-selection-summary{justify-content:space-between;padding-inline:3px}.bulk-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.bulk-button{height:39px;width:100%;padding-inline:8px;font-size:10px}
  .collection-toolbar{padding:10px}.collection-actions{gap:7px}.collection-filters{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.collection-filters::-webkit-scrollbar{display:none}.filter-chip{flex:0 0 auto}.upload-manager{right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100vw - 20px);border-radius:14px}
}
@media (max-width:420px){.dashboard-main{padding-inline:10px}.metric-grid{grid-template-columns:1fr 1fr}.metric-card{min-height:94px}.metric-icon{width:36px;height:36px;flex-basis:36px}.metric-card strong{font-size:18px}.storage-overview{grid-template-columns:88px 1fr;padding-inline:10px}.storage-ring{width:82px;height:82px}.category-grid{grid-template-columns:1fr 1fr}.bulk-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* =========================================================
   Global secure action progress + row transitions — 2026-08-21
   ========================================================= */
.operation-manager{position:fixed;right:20px;top:88px;width:min(390px,calc(100vw - 40px));z-index:125;display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;align-items:start;padding:13px 14px;background:rgba(255,255,255,.97);border:1px solid #dce6f3;border-radius:15px;box-shadow:0 20px 60px rgba(15,39,76,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:operationIn .2s cubic-bezier(.2,.8,.2,1) both;overflow:hidden}.operation-manager[hidden]{display:none!important}@keyframes operationIn{from{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}.operation-manager-icon{width:44px;height:44px;border-radius:13px;background:#eaf2ff;color:#1768ef;display:grid;place-items:center;position:relative;transition:.2s ease}.operation-manager-icon svg{width:21px;height:21px}.operation-manager-icon i{position:absolute;inset:-3px;border:2px solid transparent;border-top-color:#1768ef;border-right-color:#83aff8;border-radius:50%;animation:operationSpin .8s linear infinite}.operation-manager-icon strong{font-size:20px}.operation-manager-copy{min-width:0}.operation-manager-copy>strong{display:block;color:#102441;font-size:12.5px;line-height:1.3}.operation-manager-copy>span{display:block;color:#718098;font-size:10px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-manager-meta{display:flex;justify-content:space-between;gap:10px;margin-top:8px;color:#70809a;font-size:9.5px}.operation-manager-meta b{color:#1768ef;font-weight:800;font-variant-numeric:tabular-nums}.operation-manager-track{height:5px;border-radius:999px;background:#edf2f8;overflow:hidden;margin-top:5px}.operation-manager-track>span{display:block;height:100%;width:0;border-radius:inherit;background:#1768ef;transition:width .22s ease}.operation-manager.is-indeterminate .operation-manager-track>span{width:38%!important;animation:operationIndeterminate 1.15s ease-in-out infinite}.operation-manager.is-success .operation-manager-icon{background:#e6f8ed;color:#16934e}.operation-manager.is-success .operation-manager-track>span{background:#19a65b}.operation-manager.is-success .operation-manager-meta b{color:#16934e}.operation-manager.is-error .operation-manager-icon{background:#ffeaee;color:#d83b4d}.operation-manager.is-error .operation-manager-track>span{background:#e24a5c}.operation-manager.is-error .operation-manager-meta b{color:#cf3548}@keyframes operationSpin{to{transform:rotate(360deg)}}@keyframes operationIndeterminate{0%{transform:translateX(-115%)}50%{transform:translateX(115%)}100%{transform:translateX(275%)}}
.doc-row{transition:background .18s ease,opacity .22s ease,transform .22s ease,max-height .24s ease,padding .24s ease,border-color .2s ease}.doc-row.is-processing{position:relative;opacity:.62;pointer-events:none;overflow:hidden}.doc-row.is-processing:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(43,112,239,.09) 46%,transparent 72%);transform:translateX(-110%);animation:rowProcess 1.1s ease-in-out infinite}.doc-row.is-leaving{opacity:0;transform:translateX(14px);pointer-events:none}@keyframes rowProcess{to{transform:translateX(110%)}}
.modal-button.is-working,.bulk-button.is-working{position:relative;color:transparent!important;pointer-events:none}.modal-button.is-working:after,.bulk-button.is-working:after{content:"";position:absolute;width:16px;height:16px;left:50%;top:50%;margin:-8px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:operationSpin .7s linear infinite}.modal-button.primary.is-working:after,.modal-button.danger.is-working:after{border-color:rgba(255,255,255,.52);border-top-color:#fff}.bulk-button.is-working:after{border-color:#8fb3ec;border-top-color:#1768ef}
@media(max-width:700px){.operation-manager{left:10px;right:10px;top:76px;width:auto;grid-template-columns:40px minmax(0,1fr);padding:11px 12px;border-radius:13px}.operation-manager-icon{width:40px;height:40px;border-radius:11px}.operation-manager-copy>strong{font-size:11.5px}.operation-manager-copy>span{font-size:9.5px}.operation-manager-meta{margin-top:7px}.doc-row.is-leaving{transform:translateX(10px)}}
.secondary-button.is-working{position:relative;color:transparent!important;pointer-events:none}.secondary-button.is-working svg{opacity:0}.secondary-button.is-working:after{content:"";position:absolute;width:16px;height:16px;left:50%;top:50%;margin:-8px;border:2px solid #8fb3ec;border-top-color:#1768ef;border-radius:50%;animation:operationSpin .7s linear infinite}


/* -------------------------------------------------------------------------- */
/* Cloud-synced folders                                                        */
/* -------------------------------------------------------------------------- */
.folder-browser{margin:14px 16px 0;padding:11px 12px;border:1px solid #dce6f2;border-radius:11px;background:#f8fbff;display:flex;align-items:center;gap:8px;min-height:48px}
.folder-browser[hidden]{display:none!important}.folder-back-button{border:0;background:transparent;color:#1768ef;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:750;cursor:pointer;padding:6px 7px;border-radius:7px}.folder-back-button:hover{background:#eaf2ff}.folder-back-button svg{width:15px;height:15px;transform:rotate(90deg)}.folder-browser-separator{color:#9aa8bb}.folder-browser-current{min-width:0;display:flex;align-items:baseline;gap:8px}.folder-browser-current strong{font-size:11.5px;color:#223958;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-browser-current small{font-size:9.5px;color:#7a879a;white-space:nowrap}
.folder-browser-actions{margin-left:auto;display:flex;align-items:center;gap:7px}.folder-browser-actions .folder-download-button{margin-left:0}.folder-share-button{border:1px solid #bcd4fb;background:#1768ef;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 11px;border-radius:8px;font-size:10.5px;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:0 4px 12px rgba(23,104,239,.16)}.folder-share-button:hover{background:#0f5bd9}.folder-share-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.folder-share-button svg{width:15px;height:15px}.folder-download-button{margin-left:auto;border:1px solid #c9ddff;background:#fff;color:#0e5fe6;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:7px 11px;border-radius:8px;font-size:10.5px;font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:0 2px 8px rgba(24,93,196,.06)}.folder-download-button:hover{background:#eef5ff;border-color:#9ec3ff}.folder-download-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.folder-download-button svg{width:15px;height:15px}

.folder-section{padding:14px 16px 4px}.folder-section[hidden]{display:none!important}.folder-section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.folder-section-heading strong{font-size:12px;color:#203653}.folder-section-heading span{font-size:9.5px;color:#7d899a}.folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.folder-card{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;border:1px solid #e1e8f1;border-radius:11px;background:#fff;box-shadow:0 4px 12px rgba(30,66,116,.035);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;overflow:hidden}.folder-card:hover{border-color:#bcd0ee;box-shadow:0 8px 20px rgba(31,82,151,.07);transform:translateY(-1px)}.folder-open-button{min-width:0;border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:11px 6px 11px 11px;text-align:left;cursor:pointer}.folder-card-icon{width:39px;height:39px;border-radius:10px;background:linear-gradient(145deg,#eaf2ff,#dfeaff);color:#1768ef;display:grid;place-items:center;flex:0 0 auto}.folder-card-icon svg{width:21px;height:21px}.folder-card-copy{display:block;min-width:0}.folder-card-copy strong{display:block;color:#203653;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-card-copy small{display:block;margin-top:4px;color:#7a879a;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-options-button{width:38px;height:38px;border:0;background:transparent;border-radius:9px;color:#55708e;display:grid;place-items:center;justify-self:center;cursor:pointer;margin:0;position:relative;z-index:2;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.folder-options-button:hover,.folder-options-button:focus-visible{background:#eef4fc;color:#1768ef}.folder-options-button:focus-visible{outline:2px solid rgba(23,104,239,.25);outline-offset:1px}.folder-options-button:active{background:#e5effd;transform:scale(.96)}.folder-options-button svg{width:19px;height:19px;pointer-events:none}
.folder-empty{grid-column:1/-1;border:1px dashed #cfdced;background:#fbfdff;border-radius:11px;padding:13px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center}.folder-empty>span{width:38px;height:38px;border-radius:10px;background:#eaf2ff;color:#1768ef;display:grid;place-items:center}.folder-empty svg{width:20px;height:20px}.folder-empty strong{display:block;font-size:11px;color:#29415f}.folder-empty small{display:block;font-size:9.5px;color:#7a879a;margin-top:2px}.folder-empty button{height:32px;border:1px solid #b9cff1;background:#fff;color:#1768ef;border-radius:8px;padding:0 10px;font-size:10px;font-weight:750;cursor:pointer}.folder-empty button:hover{background:#eef5ff}

@media(max-width:980px){.folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
  .folder-browser{margin:10px 10px 0;padding:9px 8px;gap:5px}.folder-browser-current{display:grid;gap:1px}.folder-browser-current strong{font-size:10.5px}.folder-browser-current small{font-size:8.5px}.folder-back-button span{display:none}.folder-back-button{width:34px;height:34px;justify-content:center;padding:0}
  .folder-download-button{width:34px;height:34px;min-height:34px;padding:0}.folder-download-button span{display:none}.folder-share-button{width:34px;height:34px;min-height:34px;padding:0}.folder-share-button span{display:none}.folder-browser-actions{gap:5px}
  .folder-section{padding:11px 10px 2px}.folder-grid{grid-template-columns:1fr}.folder-card{min-height:64px;grid-template-columns:minmax(0,1fr) 52px}.folder-open-button{padding:10px 6px 10px 10px}.folder-card-icon{width:38px;height:38px}.folder-card-copy strong{font-size:11px}.folder-card-copy small{font-size:9px}.folder-options-button{display:grid!important;visibility:visible!important;opacity:1!important;width:44px;height:44px;border-radius:10px;justify-self:center}.folder-options-button svg{width:20px;height:20px}
  .folder-empty{grid-template-columns:36px minmax(0,1fr);padding:11px}.folder-empty button{grid-column:1/-1;width:100%}
}


/* Folder-location scoping + mobile upload-complete close control — 2026-08-21 */
.upload-manager-foot{justify-content:space-between}
.upload-manager-security{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;flex:1}
.upload-manager-security>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upload-manager-done-close{display:none;border:0;background:#1768ef;color:#fff;font:inherit;font-weight:800;border-radius:8px;height:30px;padding:0 12px;cursor:pointer;box-shadow:0 5px 14px rgba(23,104,239,.18)}
.upload-manager-done-close[hidden]{display:none!important}
.upload-manager.is-finished .upload-manager-close{opacity:1;background:#edf4ff;color:#1768ef}
@media(max-width:620px){
  .upload-manager.is-finished .upload-manager-close{width:34px;height:34px;border-radius:10px;background:#e9f2ff;color:#0d63ed;box-shadow:inset 0 0 0 1px #cfe0fa}
  .upload-manager.is-finished .upload-manager-close svg{width:19px;height:19px}
  .upload-manager-foot{gap:8px;padding:8px 9px 8px 11px}
  .upload-manager-security{justify-content:flex-start;min-width:0}
  .upload-manager-done-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:68px;height:34px;font-size:10px}
}


/* Workspace-wide search with document location */
.global-search-summary{margin:12px 16px 0;padding:11px 13px;border:1px solid #cfe0fb;border-radius:11px;background:linear-gradient(135deg,#f6f9ff,#fbfdff);display:flex;align-items:center;gap:10px;color:#294565}
.global-search-summary[hidden]{display:none!important}.global-search-summary-icon{width:34px;height:34px;border-radius:9px;background:#e7f0ff;color:#1768ef;display:grid;place-items:center;flex:0 0 auto}.global-search-summary-icon svg{width:17px;height:17px}.global-search-summary strong{display:block;font-size:11.5px;color:#1d385c}.global-search-summary small{display:block;margin-top:2px;font-size:9.5px;color:#708098;line-height:1.4}.global-search-summary small span{font-weight:750;color:#36587e}
.search-scope-chip{height:32px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #cfe0fb;border-radius:8px;background:#f5f9ff;color:#2266c7;font-size:10px;font-weight:700;white-space:nowrap}.search-scope-chip svg{width:14px;height:14px}
.doc-name-stack{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}.doc-name-line{display:flex;min-width:0;max-width:100%;align-items:center;gap:5px}.doc-name-line .doc-name{display:block;min-width:0}.doc-location-link{max-width:100%;border:0;background:transparent;color:#627995;padding:0;display:inline-flex;align-items:center;gap:4px;font-size:8.8px;line-height:1.25;cursor:pointer;text-align:left}.doc-location-link:hover{color:#1768ef;text-decoration:underline}.doc-location-link svg{width:11px;height:11px;flex:0 0 auto}.doc-location-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){.global-search-summary{margin:9px 10px 0;padding:9px 10px}.global-search-summary-icon{width:31px;height:31px}.global-search-summary strong{font-size:10.5px}.global-search-summary small{font-size:8.7px}.doc-location-link{font-size:8.6px;max-width:min(62vw,260px)}.doc-name-stack{gap:4px}.doc-name-line{max-width:100%}.search-scope-chip{height:30px;font-size:9.5px}}

/* =========================================================
   SecureDoc Auth v3 — professional responsive authentication
   ========================================================= */
.auth-body-v3{padding:clamp(14px,2.6vw,30px);background:radial-gradient(circle at 14% 12%,rgba(65,134,255,.13),transparent 29%),radial-gradient(circle at 86% 84%,rgba(38,102,241,.10),transparent 31%),#f5f8fd;color:#12213a}
.auth-shell-v3{width:min(1180px,100%);min-height:min(760px,calc(100svh - 28px));grid-template-columns:minmax(390px,.92fr) minmax(500px,1.08fr);border-radius:28px;border:1px solid rgba(204,217,236,.72);box-shadow:0 30px 80px rgba(22,55,105,.16);overflow:hidden;background:#fff}
.auth-shell-v3 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-visual-v3{display:flex!important;flex-direction:column;padding:clamp(34px,4vw,54px);background:radial-gradient(circle at 80% 18%,rgba(98,162,255,.24),transparent 28%),linear-gradient(150deg,#071b38 0%,#0b326d 48%,#1269ef 100%);position:relative;isolation:isolate}
.auth-visual-v3:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 88%);z-index:-1}.auth-visual-v3:after{width:420px;height:420px;right:-190px;bottom:-190px;background:rgba(255,255,255,.07);z-index:-1}
.auth-brand{position:relative;z-index:2;color:#fff}.auth-brand .brand-copy strong{font-size:28px}.auth-brand .brand-copy small{color:#c9dcfb;font-size:10.5px}
.auth-visual-copy-v3{margin:auto 0;max-width:470px}.auth-kicker{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.075);padding:8px 11px;border-radius:999px;color:#dceaff;font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.auth-kicker svg{width:16px;height:16px}
.auth-visual-copy-v3 h2{font-size:clamp(36px,4vw,50px)!important;line-height:1.08!important;letter-spacing:-1.7px!important;margin:22px 0 16px!important;max-width:470px!important}.auth-visual-copy-v3>p{font-size:14px!important;line-height:1.75!important;color:#d6e6ff!important;max-width:445px!important}
.auth-feature-list{display:grid;gap:10px;margin-top:28px}.auth-feature-list article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;align-items:center;padding:11px 12px;border:1px solid rgba(255,255,255,.095);border-radius:13px;background:rgba(255,255,255,.055);backdrop-filter:blur(6px)}.auth-feature-icon{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.11);display:grid;place-items:center;color:#fff}.auth-feature-icon svg{width:19px;height:19px}.auth-feature-list strong{display:block;font-size:12px;color:#fff}.auth-feature-list small{display:block;margin-top:3px;font-size:10.2px;line-height:1.4;color:#cfe0fb}
.auth-visual-foot{display:flex;align-items:center;gap:8px;color:#c9ddfb;font-size:10px;position:relative;z-index:2}.auth-live-dot{width:8px;height:8px;border-radius:50%;background:#43df88;box-shadow:0 0 0 5px rgba(67,223,136,.12)}
.auth-panel-v3{padding:clamp(28px,4.2vw,54px);justify-content:flex-start;background:linear-gradient(180deg,#fff,#fbfdff);overflow:auto;min-width:0}.auth-panel-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.auth-back-v3{margin:0;display:inline-flex;align-items:center;gap:6px;color:#55708f;font-size:11.5px;font-weight:750;padding:7px 8px;border-radius:8px}.auth-back-v3:hover{background:#f2f6fc;color:#1768ef}.auth-back-v3 svg{width:16px;height:16px}.auth-secure-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #dce7f6;background:#f8fbff;border-radius:999px;color:#4a6382;font-size:9.8px;font-weight:750}.auth-secure-badge svg{width:14px;height:14px;color:#188e4f}
.auth-mobile-brand{display:none}.auth-card-v3{width:min(520px,100%);margin:auto;min-width:0}.auth-heading-v3{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;align-items:start;margin-bottom:22px}.auth-heading-icon{width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,#eaf3ff,#f6f9ff);border:1px solid #dbe7f8;color:#1768ef;display:grid;place-items:center;box-shadow:0 6px 14px rgba(23,104,239,.08)}.auth-heading-icon svg{width:22px;height:22px}.auth-overline{margin:1px 0 5px!important;color:#1768ef!important;font-size:9.5px!important;font-weight:850!important;letter-spacing:.11em}.auth-heading-v3 h1{font-size:clamp(28px,3vw,35px)!important;line-height:1.1;letter-spacing:-.9px;margin:0 0 6px!important}.auth-heading-v3>div>p:last-child{margin:0;color:#6a7890;font-size:12.5px;line-height:1.55}
.auth-tabs-v3{padding:4px;border:1px solid #e2e9f3;background:#f4f7fb;border-radius:12px;margin-bottom:18px}.auth-tabs-v3 button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;border-radius:9px;font-size:11.5px}.auth-tabs-v3 button svg{width:17px;height:17px}.auth-tabs-v3 button.active{color:#0d62eb;background:#fff;box-shadow:0 4px 14px rgba(24,63,120,.08)}
.signup-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:8px;margin:2px 2px 18px}.signup-progress>i{height:1px;background:#dfe7f2}.signup-step{display:flex;align-items:center;gap:6px;color:#8a96a8}.signup-step span{width:24px;height:24px;border:1px solid #d5dfec;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:9px;font-weight:850}.signup-step small{font-size:9.5px;font-weight:750}.signup-step.active{color:#1768ef}.signup-step.active span{border-color:#9fc0f8;background:#eef5ff}.signup-step.done{color:#168d4d}.signup-step.done span{border-color:#a8dfc1;background:#eaf9f0;color:transparent;position:relative}.signup-step.done span:after{content:"";width:7px;height:4px;border-left:2px solid #168d4d;border-bottom:2px solid #168d4d;transform:rotate(-45deg) translateY(-1px)}
.auth-alert-v3{margin:0 0 16px;padding:11px 12px;border-radius:10px;font-size:10.8px}.auth-form-v3{gap:14px}.auth-field label{font-size:11.5px;margin-bottom:7px;color:#31435f}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.field-label-row label{margin-bottom:7px}.field-status,.caps-lock-hint,.otp-expiry-note{font-size:9px;color:#8190a4;margin-bottom:7px;white-space:nowrap}.caps-lock-hint{color:#b16b12;font-weight:700}.otp-expiry-note{color:#73839b}
.field-control{position:relative;border-radius:11px}.field-control input{min-height:49px;padding:0 42px!important;border:1px solid #d8e2ef!important;border-radius:11px!important;background:#fff!important;font-size:13px;box-shadow:0 1px 2px rgba(29,53,86,.025);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.field-control input:hover:not(:disabled){border-color:#c2d0e2!important}.field-control input:focus{border-color:#4c86ef!important;box-shadow:0 0 0 3px rgba(42,113,239,.105)!important}.field-control.is-valid input{border-color:#8ad0a7!important;background:#fbfffc!important}.field-control.is-invalid input{border-color:#e6a7b0!important;background:#fffafb!important}.field-leading-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);z-index:2;width:18px;height:18px;display:grid;place-items:center;color:#71829a;pointer-events:none}.field-leading-icon svg{width:17px;height:17px}.input-wrap input{padding-left:42px!important;padding-right:42px!important}.verified-badge{right:11px;width:24px;height:24px;background:#e6f8ed;color:#168d4d}.verified-badge svg{width:14px;height:14px;stroke-width:2.4}
.input-action-row{gap:8px}.inline-action{min-width:118px;min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px;border-color:#c8d8ee;background:#f8fbff;font-size:10.5px}.inline-action-icon{display:grid;place-items:center}.inline-action-icon svg{width:16px;height:16px}.inline-action.loading .inline-action-icon,.inline-action.loading .inline-action-label{opacity:0}.inline-action.loading:after{margin:-8px}.verify-action{background:#1768ef;color:#fff;border-color:#1768ef;box-shadow:0 6px 14px rgba(23,104,239,.13)}.verify-action:hover:not(:disabled){background:#0f5fdc}.inline-action:disabled{opacity:.48;box-shadow:none}
.otp-section-v3{padding:12px;border:1px solid #dce7f5;border-radius:12px;background:linear-gradient(180deg,#fbfdff,#f7faff)}.otp-action-row{grid-template-columns:minmax(0,1fr) 112px}.otp-control input{text-align:center;font-size:18px!important;font-weight:850;letter-spacing:6px;padding-right:14px!important}.otp-meta{margin-top:6px;min-height:18px}.field-help{font-size:9.8px;line-height:1.45}.resend-link,.resend-timer{font-size:9.8px}
.password-wrap input{padding-right:45px!important}.password-toggle{right:8px;width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:8px;color:#667b98}.password-toggle:hover{background:#f1f5fb;color:#1768ef}.password-toggle svg{width:17px;height:17px}.password-toggle .eye-closed{display:none}.password-toggle.showing .eye-open{display:none}.password-toggle.showing .eye-closed{display:block}
.password-guidance{margin-top:7px}.password-meter{height:4px;border-radius:999px;background:#eaf0f6;overflow:hidden}.password-meter span{display:block;height:100%;width:0;border-radius:inherit;background:#dfb13a;transition:width .2s ease,background .2s ease}.password-meter span[data-score="2"]{background:#5f92ec}.password-meter span[data-score="3"],.password-meter span[data-score="4"]{background:#24a861}.password-requirements{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:7px}.password-requirements span{display:inline-flex;align-items:center;gap:5px;color:#8491a3;font-size:9.3px}.password-requirements i{width:11px;height:11px;border:1px solid #c9d4e2;border-radius:50%;position:relative}.password-requirements .met{color:#168d4d}.password-requirements .met i{background:#e4f7ec;border-color:#8fd2aa}.password-requirements .met i:after{content:"";position:absolute;left:2px;top:2px;width:5px;height:3px;border-left:1.5px solid #168d4d;border-bottom:1.5px solid #168d4d;transform:rotate(-45deg)}
.signup-verification-state{padding:10px 11px;border-radius:11px;grid-template-columns:32px minmax(0,1fr)}.signup-verification-state .state-icon{width:28px;height:28px}.signup-verification-state .state-icon svg{width:16px;height:16px}.signup-verification-state strong{font-size:10.8px}.signup-verification-state small{font-size:9.2px}.signup-verification-state.verified{border-color:#bfe6d0;background:#f2fbf6}
.auth-submit-v3{min-height:51px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:11.8px;letter-spacing:.01em;position:relative;background:linear-gradient(135deg,#2477fb,#0f5ee0);box-shadow:0 9px 20px rgba(24,100,230,.2);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.auth-submit-v3:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 25px rgba(24,100,230,.24)}.auth-submit-v3:active:not(:disabled){transform:translateY(0)}.button-end-icon{display:grid;place-items:center}.button-end-icon svg{width:17px;height:17px}.auth-submit-v3.loading .button-label,.auth-submit-v3.loading .button-end-icon{opacity:0}.auth-submit-v3:disabled{opacity:.48;background:linear-gradient(135deg,#7da9ef,#6c96da)}
.auth-security-note-v3{grid-template-columns:34px minmax(0,1fr);margin-top:16px;padding-top:14px}.security-note-icon{width:32px;height:32px;border-radius:9px;background:#eff6ff;color:#1768ef;display:grid;place-items:center}.security-note-icon svg{width:17px;height:17px}.auth-security-note-v3 strong{font-size:10px}.auth-security-note-v3 small{font-size:9px;line-height:1.45}.success-text{color:#168d4d!important}.error-text{color:#cf3e4f!important}

@media(max-width:980px){
  .auth-body-v3{padding:0;background:#f7faff;display:block}.auth-shell-v3{display:block;width:100%;min-height:100svh;border:0;border-radius:0;box-shadow:none}.auth-visual-v3{display:none!important}.auth-panel-v3{min-height:100svh;padding:20px clamp(18px,5vw,36px) 34px;background:radial-gradient(circle at 100% 0,rgba(53,126,247,.08),transparent 28%),#fff}.auth-mobile-brand{display:flex;align-items:center;justify-content:center;margin:1px 0 23px}.auth-mobile-brand .brand{min-width:0}.auth-mobile-brand .brand-mark{width:32px;height:38px}.auth-mobile-brand .brand-copy strong{font-size:22px}.auth-mobile-brand .brand-copy small{display:block!important;font-size:8.5px;color:#6d7a90;margin-top:2px}.auth-panel-top{margin-bottom:18px}.auth-card-v3{width:min(560px,100%)}
}
@media(max-width:620px){
  .auth-panel-v3{padding:14px 14px max(26px,env(safe-area-inset-bottom))}.auth-mobile-brand{justify-content:flex-start;margin:2px 4px 18px}.auth-panel-top{margin-bottom:16px}.auth-secure-badge span{display:none}.auth-secure-badge{width:34px;height:34px;padding:0;justify-content:center;border-radius:10px}.auth-card-v3{margin:0 auto}.auth-heading-v3{grid-template-columns:40px minmax(0,1fr);gap:10px;margin-bottom:18px}.auth-heading-icon{width:40px;height:40px;border-radius:11px}.auth-heading-icon svg{width:19px;height:19px}.auth-heading-v3 h1{font-size:26px!important}.auth-heading-v3>div>p:last-child{font-size:11.5px}.auth-overline{font-size:8.5px!important}.auth-tabs-v3{margin-bottom:15px}.auth-tabs-v3 button{min-height:42px;font-size:10.8px}.signup-progress{margin-bottom:15px;gap:6px}.signup-step small{font-size:8.7px}.signup-step span{width:22px;height:22px}.name-grid{grid-template-columns:1fr;gap:13px}.auth-form-v3{gap:13px}.signup-email-row{grid-template-columns:1fr}.signup-email-row .inline-action{min-height:46px}.otp-action-row{grid-template-columns:minmax(0,1fr) 96px}.otp-action-row .inline-action{min-width:0}.field-control input{min-height:48px;font-size:12.5px}.auth-submit-v3{min-height:50px}.auth-security-note-v3{margin-top:14px}.password-requirements{gap:10px}.otp-meta{align-items:flex-start;flex-wrap:wrap}.auth-alert-v3{font-size:10.3px}
}
@media(max-width:380px){
  .auth-panel-v3{padding-inline:11px}.auth-mobile-brand{margin-left:2px}.auth-heading-v3 h1{font-size:24px!important}.otp-action-row{grid-template-columns:1fr}.otp-action-row .verify-action{min-height:44px}.signup-progress{gap:4px}.signup-step small{display:none}.signup-progress>i{min-width:24px}.auth-back-v3 span{font-size:10.5px}.password-requirements{display:grid;gap:6px}
}

/* seppuwa.com branding */
.brand-copy strong{color:var(--text)}
.auth-visual .brand-copy strong{color:#fff}
.auth-visual .brand-copy strong span{color:#67e3e2}
.footer-brand .brand-mark{width:46px;height:50px}
.dashboard-brand .brand-mark{width:46px;height:51px}
.auth-brand .brand-mark{width:54px;height:60px}
@media (max-width:980px){.brand-mark{width:44px;height:49px}.brand{min-width:0}}
@media (max-width:700px){.brand-mark{width:40px;height:45px}.brand-copy strong{font-size:22px}.brand-copy small{font-size:9px}}
@media (max-width:480px){.brand-mark{width:38px;height:42px}.brand-copy strong{font-size:20px}}


/* Final seppuwa.com logo integration */
.brand{min-width:220px}
.brand-full-logo{display:block;width:214px;max-width:100%;height:auto;max-height:64px;object-fit:contain;flex:0 0 auto}
.topbar .brand-full-logo{width:205px;max-height:62px}
.footer-brand .brand-full-logo{width:190px;max-height:58px}
.dashboard-brand .brand-full-logo{width:205px;max-height:62px}
.auth-brand{width:max-content;max-width:100%;background:rgba(255,255,255,.98);padding:5px 9px;border-radius:12px;box-shadow:0 8px 24px rgba(2,20,54,.13)}
.auth-brand .brand-full-logo{width:215px;max-height:66px}
.auth-mobile-brand .brand-full-logo{width:196px;max-height:60px}
.dark .topbar .brand-full-logo,.dark footer .brand-full-logo{background:#fff;border-radius:10px;padding:3px 6px}
@media (max-width:1180px){.topbar .brand-full-logo{width:184px}.brand{min-width:190px}}
@media (max-width:980px){.brand{min-width:0}.topbar .brand-full-logo{width:175px}.dashboard-brand .brand-full-logo{width:190px}.auth-mobile-brand .brand-full-logo{width:188px}}
@media (max-width:700px){.topbar .brand-full-logo{width:164px}.footer-brand .brand-full-logo{width:175px}.dashboard-brand .brand-full-logo{width:180px}}
@media (max-width:480px){.topbar .brand-full-logo{width:150px}.auth-mobile-brand .brand-full-logo{width:176px}.dashboard-brand .brand-full-logo{width:170px}}


/* First-registration welcome note + mobile dashboard touch targets — 2026-08-21 */
.welcome-modal{width:min(680px,100%);padding:30px 32px}.welcome-modal .modal-icon{background:linear-gradient(135deg,#eaf2ff,#eef8ff);box-shadow:inset 0 0 0 1px #dbe8fb}.first-signup-welcome{color:#33445f;font-size:12.5px;line-height:1.75}.first-signup-welcome p{margin:0 0 14px}.first-signup-welcome h3{margin:18px 0 10px;color:#102441;font-size:14px}.first-signup-welcome ul{margin:0 0 16px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.first-signup-welcome li{position:relative;padding:9px 10px 9px 30px;border:1px solid #e3ebf6;border-radius:10px;background:#f9fbff;color:#344965;line-height:1.45}.first-signup-welcome li:before{content:'✓';position:absolute;left:10px;top:8px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#e7f7ed;color:#168c4a;font-size:9px;font-weight:900}.welcome-tagline{margin-top:17px;padding:14px 16px;border:1px solid #d7e5fa;border-radius:12px;background:linear-gradient(135deg,#f4f8ff,#fbfdff);display:flex;align-items:center;justify-content:space-between;gap:12px}.welcome-tagline strong{color:#1768ef;font-size:14px}.welcome-tagline span{font-size:11.5px;color:#51647f;text-align:right}.welcome-modal .modal-actions{position:sticky;bottom:-30px;margin:18px -32px -30px;padding:14px 32px max(14px,env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid #edf2f8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.welcome-modal .modal-button.primary{min-height:44px;padding-inline:20px}

@media (max-width:700px){
  .dashboard-topbar{gap:8px;padding-inline:10px}.mobile-menu-button,.topbar-actions .notification-button{width:46px;height:46px;min-width:46px;border-radius:12px;background:#f4f7fc;color:#1f5faf}.mobile-menu-button svg,.topbar-actions .notification-button svg{width:25px!important;height:25px!important;stroke-width:2.15}.mobile-menu-button:active,.topbar-actions .notification-button:active{background:#eaf2ff}.top-search{height:46px;border-radius:12px;padding-inline:12px;gap:9px}.top-search svg{width:22px!important;height:22px!important;stroke-width:2}.top-search input{font-size:14px}.user-button{height:46px;min-width:42px}.user-button .avatar{width:38px;height:38px;font-size:15px}.new-document-btn{width:48px;height:48px;border-radius:12px}.new-document-btn>svg:first-child{width:26px!important;height:26px!important;stroke-width:2.1}.doc-menu-btn{min-width:42px;min-height:42px}.doc-menu-btn svg{width:21px!important;height:21px!important}.dash-nav-item svg{width:22px!important;height:22px!important}.sidebar-close{width:44px;height:44px}.sidebar-close svg{width:23px!important;height:23px!important}
  .welcome-modal{width:100%;max-height:calc(100svh - 20px);padding:24px 18px 22px;border-radius:18px}.welcome-modal .modal-close{right:10px;top:10px;width:42px;height:42px}.welcome-modal .modal-close svg{width:22px!important;height:22px!important}.welcome-modal .modal-icon{width:50px;height:50px;margin-bottom:15px}.welcome-modal .modal-icon svg{width:26px!important;height:26px!important}.welcome-modal h2{font-size:21px;margin-right:44px}.welcome-modal>p{font-size:12px;line-height:1.65;margin-bottom:15px}.first-signup-welcome{font-size:12px;line-height:1.72}.first-signup-welcome ul{grid-template-columns:1fr;gap:7px}.first-signup-welcome li{padding:9px 10px 9px 30px}.welcome-tagline{align-items:flex-start;flex-direction:column}.welcome-tagline span{text-align:left}.welcome-modal .modal-actions{bottom:-22px;margin:17px -18px -22px;padding:12px 18px max(12px,env(safe-area-inset-bottom))}.welcome-modal .modal-button.primary{width:100%;height:46px;font-size:12.5px}
}
@media (max-width:430px){
  .dashboard-topbar{padding-inline:8px;gap:5px}.mobile-menu-button,.topbar-actions .notification-button{width:44px;height:44px;min-width:44px}.mobile-menu-button svg,.topbar-actions .notification-button svg{width:24px!important;height:24px!important}.top-search{height:44px;padding-inline:10px}.top-search svg{width:21px!important;height:21px!important}.top-search input{font-size:13.5px}.user-button{height:44px}.user-button .avatar{width:36px;height:36px}.new-document-btn{width:46px;height:46px}.new-document-btn>svg:first-child{width:25px!important;height:25px!important}.metric-icon{width:42px;height:42px;flex-basis:42px}.metric-icon svg{width:23px!important;height:23px!important}.category-icon{width:36px;height:36px;flex-basis:36px}.category-icon svg{width:20px!important;height:20px!important}.storage-add-button{width:34px;height:34px}.storage-add-button svg{width:18px!important;height:18px!important}.welcome-modal{padding-inline:15px}.welcome-modal .modal-actions{margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:15px}
}


/* =========================================================
   About / Seppuwa.com product profile + V1–V88 history
   ========================================================= */
.about-view{display:grid;gap:16px;min-width:0}.about-view[hidden]{display:none!important}.about-product-view{padding-bottom:8px}
.about-product-view svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.about-product-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:center;padding:28px;border:1px solid #dbe6f4;border-radius:20px;background:radial-gradient(circle at 86% 15%,rgba(43,120,247,.13),transparent 30%),linear-gradient(135deg,#fff 0%,#f8fbff 55%,#f0f6ff 100%);box-shadow:0 10px 30px rgba(20,57,110,.07)}
.about-product-hero:after{content:"";position:absolute;right:-80px;bottom:-125px;width:250px;height:250px;border-radius:50%;border:42px solid rgba(23,104,239,.045);pointer-events:none}.about-product-brand{display:grid;grid-template-columns:130px minmax(0,1fr);gap:24px;align-items:center;min-width:0;position:relative;z-index:1}.about-product-logo{width:130px;height:auto;max-height:94px;object-fit:contain;object-position:left center}.about-product-title{min-width:0}.about-product-kicker{display:block;color:#1768ef;font-size:9.5px;font-weight:850;letter-spacing:.14em;line-height:1.3}.about-product-title h2{margin:6px 0 9px;color:#102441;font-size:clamp(24px,3vw,34px);line-height:1.12;letter-spacing:-.8px}.about-product-title p{margin:0;max-width:800px;color:#60728a;font-size:11.8px;line-height:1.72}.about-release-panel{position:relative;z-index:1;display:grid;gap:6px;align-content:center;justify-items:start;min-height:146px;padding:19px;border:1px solid rgba(23,104,239,.18);border-radius:16px;background:rgba(255,255,255,.83);backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(23,79,158,.07)}.about-release-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border-radius:999px;background:#ecf8f1;color:#16814a;font-size:8.5px;font-weight:850;letter-spacing:.04em}.about-release-badge i,.about-product-footer-state i{width:7px;height:7px;border-radius:50%;background:#1aaa62;box-shadow:0 0 0 4px rgba(26,170,98,.10)}.about-release-panel>strong{color:#102441;font-size:23px;line-height:1.2;letter-spacing:-.4px}.about-release-panel>small{color:#7a8ba2;font-size:9.3px;line-height:1.5}.about-release-status{display:flex;align-items:center;gap:6px;margin-top:5px;color:#35516f;font-size:9.3px;font-weight:750}.about-release-status svg{width:15px;height:15px;color:#1768ef}
.about-product-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.about-summary-card{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:17px;border:1px solid #e0e8f3;border-radius:15px;background:#fff;box-shadow:0 4px 15px rgba(22,55,102,.035)}.about-summary-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf4ff;color:#1768ef}.about-summary-icon svg{width:21px;height:21px}.about-summary-card small{display:block;margin:1px 0 4px;color:#8290a4;font-size:7.7px;font-weight:850;letter-spacing:.08em}.about-summary-card strong{display:block;color:#1a3150;font-size:11.2px;line-height:1.35}.about-summary-card p{margin:6px 0 0;color:#6e7d91;font-size:9.2px;line-height:1.62}
.about-trust-card{display:grid;grid-template-columns:56px minmax(0,1.1fr) minmax(320px,.9fr);gap:18px;align-items:center;padding:20px 22px;border-radius:17px;background:linear-gradient(135deg,#102d58,#123d79);color:#fff;box-shadow:0 10px 28px rgba(15,48,94,.12)}.about-trust-icon{width:56px;height:56px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.13);color:#d7e8ff}.about-trust-icon svg{width:27px;height:27px}.about-trust-copy span{color:#a8c8ff;font-size:8.2px;font-weight:850;letter-spacing:.12em}.about-trust-copy h3{margin:5px 0 7px;font-size:16px;line-height:1.3}.about-trust-copy p{margin:0;color:#c8d8ec;font-size:9.7px;line-height:1.65}.about-trust-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.about-trust-points span{display:flex;align-items:center;gap:7px;padding:9px 10px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.065);color:#e3edfa;font-size:8.8px;font-weight:700}.about-trust-points svg{width:14px;height:14px;color:#8bc0ff;flex:0 0 auto}
.about-version-section{overflow:hidden;border:1px solid #dfe7f2;border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(24,55,101,.04)}.about-version-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:21px 22px 18px;border-bottom:1px solid #e8eef6;background:linear-gradient(180deg,#fff,#fbfdff)}.about-version-head h3{margin:5px 0 6px;color:#162d4a;font-size:18px;letter-spacing:-.3px}.about-version-head p{margin:0;max-width:780px;color:#78879b;font-size:9.6px;line-height:1.6}.about-history-count{min-width:74px;display:grid;justify-items:end}.about-history-count strong{font-size:24px;line-height:1;color:#1768ef}.about-history-count span{margin-top:3px;color:#8996a8;font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.about-version-tools{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:12px;align-items:center;padding:13px 16px;border-bottom:1px solid #edf1f6;background:#fafcff}.about-version-search{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 11px;border:1px solid #dce6f2;border-radius:10px;background:#fff;color:#77879d}.about-version-search:focus-within{border-color:#8db3f5;box-shadow:0 0 0 3px rgba(23,104,239,.07)}.about-version-search svg{width:16px;height:16px;flex:0 0 auto}.about-version-search input{width:100%;border:0;outline:0;background:transparent;color:#203650;font:inherit;font-size:10px;min-width:0}.about-version-search input::placeholder{color:#9aa7b7}.about-version-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.about-version-filters button{min-height:32px;padding:0 10px;border:1px solid #dfe7f2;border-radius:9px;background:#fff;color:#66768c;font-size:8.7px;font-weight:750;cursor:pointer}.about-version-filters button:hover{border-color:#b9ccec;color:#1768ef}.about-version-filters button.active{border-color:#1768ef;background:#1768ef;color:#fff;box-shadow:0 4px 12px rgba(23,104,239,.16)}
.about-version-list{display:grid;max-height:630px;overflow:auto;overscroll-behavior:contain}.about-version-item{border-bottom:1px solid #edf1f6;background:#fff}.about-version-item:last-child{border-bottom:0}.about-version-item summary{list-style:none;display:grid;grid-template-columns:54px minmax(0,1fr) auto auto 28px;gap:11px;align-items:center;min-height:67px;padding:11px 16px;cursor:pointer;user-select:none}.about-version-item summary::-webkit-details-marker{display:none}.about-version-item summary:hover{background:#fbfdff}.about-version-item.is-current{background:linear-gradient(90deg,rgba(23,104,239,.055),#fff 38%)}.about-version-item.is-current summary{box-shadow:inset 3px 0 #1768ef}.about-version-number{width:43px;height:33px;border:1px solid #dbe5f1;border-radius:9px;display:grid;place-items:center;background:#f7faff;color:#36516f;font-size:10px;font-weight:850}.about-version-item.is-current .about-version-number{background:#1768ef;border-color:#1768ef;color:#fff}.about-version-summary{min-width:0}.about-version-summary strong{display:block;color:#243950;font-size:10.4px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.about-version-summary small{display:block;margin-top:4px;color:#8a97a9;font-size:8.1px;line-height:1.4}.about-version-category{padding:5px 8px;border-radius:999px;background:#f1f5fa;color:#607189;font-size:7.7px;font-weight:800;white-space:nowrap}.about-version-current{padding:5px 7px;border-radius:999px;background:#e8f7ef;color:#147846;font-size:7px;font-weight:900;letter-spacing:.05em}.about-version-toggle{width:26px;height:26px;border:1px solid #e0e7f0;border-radius:8px;display:grid;place-items:center;color:#6d7d91;font-size:15px;line-height:1;transition:transform .18s ease,background .18s ease}.about-version-item[open] .about-version-toggle{transform:rotate(45deg);background:#eef5ff;color:#1768ef}.about-version-detail{padding:0 16px 14px 81px}.about-version-detail p{margin:0;padding:11px 12px;border-radius:10px;background:#f8faff;color:#5e6f85;font-size:9.2px;line-height:1.65}.about-version-empty{min-height:210px;display:grid;place-items:center;align-content:center;gap:6px;color:#8090a4;text-align:center;padding:30px}.about-version-empty svg{width:27px;height:27px;color:#9aacc4}.about-version-empty strong{color:#405571;font-size:12px}.about-version-empty span{font-size:9px}
.about-product-footer{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 15px;border:1px solid #e1e8f1;border-radius:14px;background:#fbfdff}.about-product-footer img{width:42px;height:42px;object-fit:contain}.about-product-footer strong{display:block;color:#203650;font-size:10.4px}.about-product-footer span{display:block;margin-top:2px;color:#8390a2;font-size:8.4px}.about-product-footer-state{display:flex!important;align-items:center;gap:7px!important;margin:0!important;padding:6px 9px;border-radius:999px;background:#eef8f2;color:#137848!important;font-size:7.8px!important;font-weight:850}.about-product-footer-state i{display:block}
@media(max-width:1100px){.about-product-hero{grid-template-columns:1fr}.about-release-panel{min-height:0;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.about-release-panel>strong{grid-column:1}.about-release-panel>small{grid-column:2;grid-row:2}.about-release-status{grid-column:2;grid-row:1;margin:0;justify-self:end}.about-product-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.about-trust-card{grid-template-columns:52px minmax(0,1fr)}.about-trust-points{grid-column:1/-1}}
@media(max-width:760px){.about-view{gap:12px}.about-product-hero{padding:18px 15px;border-radius:15px;gap:15px}.about-product-brand{grid-template-columns:92px minmax(0,1fr);gap:14px}.about-product-logo{width:92px;max-height:68px}.about-product-title h2{font-size:23px;margin-top:5px}.about-product-title p{font-size:10.6px;line-height:1.6}.about-release-panel{padding:14px;border-radius:12px}.about-release-panel>strong{font-size:18px}.about-product-summary{grid-template-columns:1fr;gap:9px}.about-summary-card{padding:14px;grid-template-columns:39px minmax(0,1fr);gap:11px}.about-summary-icon{width:39px;height:39px}.about-trust-card{padding:16px 14px;border-radius:14px;grid-template-columns:43px minmax(0,1fr);gap:12px}.about-trust-icon{width:43px;height:43px;border-radius:12px}.about-trust-icon svg{width:22px;height:22px}.about-trust-copy h3{font-size:14px}.about-trust-points{grid-template-columns:1fr;gap:6px}.about-version-section{border-radius:14px}.about-version-head{align-items:flex-start;padding:16px 14px 13px}.about-version-head h3{font-size:16px}.about-version-head p{font-size:8.8px}.about-history-count{min-width:48px}.about-history-count strong{font-size:20px}.about-version-tools{grid-template-columns:1fr;padding:10px}.about-version-filters{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;padding-bottom:2px;scrollbar-width:none}.about-version-filters::-webkit-scrollbar{display:none}.about-version-filters button{flex:0 0 auto}.about-version-list{max-height:560px}.about-version-item summary{grid-template-columns:46px minmax(0,1fr) auto 25px;gap:9px;min-height:62px;padding:9px 10px}.about-version-number{width:40px;height:31px}.about-version-category{display:none}.about-version-current{font-size:6.6px;padding:4px 6px}.about-version-summary strong{font-size:9.7px}.about-version-summary small{font-size:7.4px}.about-version-detail{padding:0 10px 11px 65px}.about-version-detail p{font-size:8.7px;padding:10px}.about-product-footer{grid-template-columns:36px minmax(0,1fr) auto;padding:11px}.about-product-footer img{width:36px;height:36px}}
@media(max-width:460px){.about-product-brand{grid-template-columns:1fr}.about-product-logo{width:118px}.about-release-panel{display:grid;grid-template-columns:1fr;justify-items:start}.about-release-panel>strong,.about-release-panel>small,.about-release-status{grid-column:1;grid-row:auto;justify-self:start}.about-release-status{margin-top:3px}.about-version-head{gap:10px}.about-version-head p{display:none}.about-version-item summary{grid-template-columns:42px minmax(0,1fr) 24px}.about-version-current{display:none}.about-version-detail{padding-left:61px}.about-product-footer-state{display:none!important}}

/* =========================================================
   seppuwa.com Auth — light reference theme (2026-08-21)
   Visual-only layer. Existing auth IDs and JS behavior remain unchanged.
   ========================================================= */
.auth-body-v3{
  padding:0;
  background:#f7faff;
  color:#0f1b33;
  display:block;
}
.auth-shell-v3{
  width:100%;
  min-height:100svh;
  grid-template-columns:minmax(0,1fr) minmax(500px,1fr);
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
  background:#fff;
}
.auth-visual-v3{
  display:flex!important;
  min-height:100svh;
  padding:clamp(32px,4.2vw,60px) clamp(34px,5vw,76px);
  background:
    radial-gradient(circle at 88% 7%,rgba(47,126,246,.09),transparent 24%),
    linear-gradient(180deg,#ffffff 0%,#f9fbff 72%,#eef5ff 100%);
  color:#111d34;
  overflow:hidden;
}
.auth-visual-v3:before{
  inset:auto 28px auto auto;
  top:0;
  width:130px;
  height:130px;
  background-image:radial-gradient(circle,#b9d5fb 1.4px,transparent 1.6px);
  background-size:13px 13px;
  mask-image:linear-gradient(135deg,#000,transparent 75%);
  opacity:.62;
}
.auth-visual-v3:after{
  content:"";
  position:absolute;
  left:-8%;
  right:-8%;
  bottom:-68px;
  width:auto;
  height:150px;
  border-radius:50% 50% 0 0/65% 65% 0 0;
  background:rgba(212,229,253,.58);
  transform:rotate(-3deg);
  z-index:-1;
}
.auth-brand{color:#0f1b33;display:inline-flex;align-items:center;width:max-content}
.auth-brand .brand-full-logo{width:clamp(190px,16vw,245px);max-height:76px;mix-blend-mode:multiply}
.auth-visual-copy-v3{
  margin:clamp(40px,5vh,74px) 0 auto;
  max-width:520px;
  position:relative;
  z-index:2;
}
.auth-kicker{
  border:0;
  background:#eaf3ff;
  padding:7px 10px;
  color:#1768ef;
  font-size:10px;
  letter-spacing:.075em;
}
.auth-kicker svg{color:#1768ef}
.auth-visual-copy-v3 h2{
  color:#101a30!important;
  font-size:clamp(31px,3vw,44px)!important;
  line-height:1.1!important;
  letter-spacing:-1.25px!important;
  margin:18px 0 12px!important;
  max-width:500px!important;
}
.auth-visual-copy-v3>p{
  color:#596a84!important;
  font-size:14px!important;
  line-height:1.75!important;
  max-width:480px!important;
}
.auth-hero-illustration{
  width:min(420px,88%);
  margin:24px auto 12px;
}
.auth-hero-illustration svg{display:block;width:100%;height:auto;overflow:visible}
.auth-feature-list{gap:11px;margin-top:15px;max-width:500px}
.auth-feature-list article{
  grid-template-columns:45px minmax(0,1fr);
  gap:12px;
  padding:8px 0;
  border:0;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
}
.auth-feature-icon{
  width:42px;height:42px;
  border-radius:50%;
  background:#eaf3ff;
  color:#1768ef;
  border:1px solid #dceaff;
}
.auth-feature-icon svg{width:19px;height:19px}
.auth-feature-list strong{font-size:12.5px;color:#101a30}
.auth-feature-list small{font-size:10.7px;line-height:1.45;color:#60718b;margin-top:3px}
.auth-visual-foot{color:#5d6d84;font-size:10.5px;z-index:2}
.auth-live-dot{background:#1768ef;box-shadow:0 0 0 5px rgba(23,104,239,.10)}

.auth-panel-v3{
  min-height:100svh;
  padding:clamp(32px,4vw,58px) clamp(30px,5vw,72px);
  justify-content:center;
  background:
    radial-gradient(circle at 92% 5%,rgba(47,126,246,.06),transparent 22%),
    #f8fbff;
  overflow:visible;
}
.auth-panel-top{
  width:min(510px,100%);
  margin:0 auto 14px;
}
.auth-back-v3{color:#64748b}
.auth-back-v3:hover{background:#eef5ff;color:#1768ef}
.auth-secure-badge{background:#fff;border-color:#dde8f7;color:#52647d;box-shadow:0 4px 14px rgba(25,65,125,.04)}
.auth-card-v3{
  width:min(510px,100%);
  margin:0 auto;
  padding:clamp(26px,3vw,40px);
  border:1px solid #e6edf7;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 44px rgba(23,55,104,.12);
}
.auth-heading-v3{
  display:block;
  margin-bottom:20px;
}
.auth-heading-icon{display:none}
.auth-overline{display:none}
.auth-heading-v3 h1{
  font-size:clamp(26px,2.6vw,32px)!important;
  letter-spacing:-.65px!important;
  color:#0d172b;
  margin-bottom:7px!important;
}
.auth-heading-v3>div>p:last-child{font-size:12.5px;color:#64748b;line-height:1.5}
.auth-tabs-v3{
  background:#f4f7fc;
  border:1px solid #e3eaf4;
  border-radius:11px;
  padding:4px;
  margin-bottom:20px;
}
.auth-tabs-v3 button{
  min-height:42px;
  border-radius:8px;
  color:#66758a;
  font-size:11.5px;
}
.auth-tabs-v3 button.active{
  background:#fff;
  color:#1768ef;
  box-shadow:0 3px 10px rgba(24,63,120,.08);
}
.auth-form-v3{gap:14px}
.auth-field label{font-size:11.5px;color:#17243b;font-weight:750}
.field-control input{
  min-height:48px;
  border-radius:9px!important;
  border-color:#d8e2ef!important;
  background:#fff!important;
  color:#17243b;
  box-shadow:none;
}
.field-control input::placeholder{color:#8a98ad}
.field-control input:hover:not(:disabled){border-color:#c0d0e5!important}
.field-control input:focus{border-color:#377cf0!important;box-shadow:0 0 0 3px rgba(55,124,240,.10)!important}
.inline-action{border-radius:9px;background:#f7faff}
.verify-action{background:#1768ef}
.otp-section-v3{background:#f7faff;border-color:#dce8f7;border-radius:10px}
.auth-submit-v3{
  min-height:50px;
  border-radius:9px;
  background:linear-gradient(90deg,#1768ef,#287df8);
  box-shadow:0 9px 18px rgba(23,104,239,.18);
  font-size:12px;
}
.auth-submit-v3:hover:not(:disabled){box-shadow:0 11px 22px rgba(23,104,239,.22)}
.auth-security-note-v3{
  margin-top:16px;
  padding-top:15px;
  border-top:1px solid #edf1f6;
}
.security-note-icon{background:#eef5ff;color:#1768ef}
.auth-security-note-v3 strong{color:#23334d}
.auth-security-note-v3 small{color:#708096}

@media(max-width:1100px) and (min-width:981px){
  .auth-shell-v3{grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr)}
  .auth-visual-v3{padding-inline:38px}
  .auth-visual-copy-v3 h2{font-size:35px!important}
  .auth-hero-illustration{width:min(355px,88%)}
  .auth-feature-list small{font-size:10px}
  .auth-panel-v3{padding-inline:38px}
}

@media(max-width:980px){
  .auth-body-v3{background:#f8fbff}
  .auth-shell-v3{display:block;background:#f8fbff}
  .auth-visual-v3{display:none!important}
  .auth-panel-v3{
    min-height:100svh;
    padding:18px clamp(18px,5vw,34px) 36px;
    background:
      radial-gradient(circle at 100% 0,rgba(53,126,247,.08),transparent 25%),
      #f8fbff;
  }
  .auth-mobile-brand{
    display:flex;
    justify-content:center;
    margin:4px auto 15px;
  }
  .auth-mobile-brand .brand-full-logo{width:190px;max-height:60px;mix-blend-mode:multiply}
  .auth-panel-top{margin-bottom:12px}
  .auth-card-v3{padding:clamp(24px,5vw,34px)}
}

@media(max-width:620px){
  .auth-panel-v3{padding:12px 12px max(24px,env(safe-area-inset-bottom))}
  .auth-mobile-brand{justify-content:flex-start;margin:3px 3px 10px}
  .auth-mobile-brand .brand-full-logo{width:172px}
  .auth-panel-top{margin-bottom:10px;padding:0 2px}
  .auth-back-v3{padding-left:3px}
  .auth-card-v3{
    padding:22px 16px 24px;
    border-radius:15px;
    box-shadow:0 12px 30px rgba(23,55,104,.09);
  }
  .auth-heading-v3{margin-bottom:16px}
  .auth-heading-v3 h1{font-size:25px!important}
  .auth-heading-v3>div>p:last-child{font-size:11.5px}
  .auth-tabs-v3{margin-bottom:16px}
  .auth-tabs-v3 button{min-height:41px;font-size:11px}
  .name-grid{grid-template-columns:1fr;gap:13px}
  .signup-email-row{grid-template-columns:1fr}
  .signup-email-row .inline-action{min-height:45px}
  .otp-action-row{grid-template-columns:minmax(0,1fr) 94px}
  .field-control input{min-height:47px;font-size:13px}
  .auth-submit-v3{min-height:49px}
  .auth-security-note-v3{margin-top:14px}
}

@media(max-width:380px){
  .auth-panel-v3{padding-inline:9px}
  .auth-card-v3{padding-inline:13px}
  .otp-action-row{grid-template-columns:1fr}
}

/* Auth professional login/signup/reset refinements */
.auth-panel-pro{display:flex;align-items:center;justify-content:center}
.auth-card-pro{max-width:520px}
.auth-card-pro .auth-heading-pro{margin-bottom:24px}
.auth-card-pro .auth-heading-pro h1{font-size:29px!important;margin:0 0 7px!important;color:#0f1b33}
.auth-card-pro .auth-heading-pro p{font-size:12px;color:#66758b;margin:0}
.auth-view[hidden]{display:none!important}
.auth-options-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-2px 0 2px;font-size:11px}
.remember-check{display:inline-flex;align-items:center;gap:8px;color:#53657f;cursor:pointer;user-select:none}
.remember-check input{width:15px;height:15px;accent-color:#1768ef}
.auth-text-link,.auth-switch-line button,.reset-back{border:0;background:transparent;color:#1768ef;padding:0;font:inherit;font-weight:700;cursor:pointer}
.auth-text-link:hover,.auth-switch-line button:hover,.reset-back:hover{text-decoration:underline}
.auth-switch-line{text-align:center;color:#66758b;font-size:11px;margin-top:22px;padding-top:20px;border-top:1px solid #edf1f6}
.password-rule-box{display:grid;gap:7px;padding:13px 14px;border:1px solid #dce8f8;border-radius:10px;background:#f3f7ff;color:#4d607c;font-size:10.5px}
.password-rule-box strong{font-size:11px;color:#17355f;margin-bottom:1px}
.password-rule-box span{color:#536985}
.reset-back{display:inline-flex;margin-bottom:13px;font-size:10.5px;color:#5d718d}
.reset-steps{display:grid;grid-template-columns:30px 1fr 30px 1fr 30px;align-items:center;margin:-4px 0 22px}
.reset-steps span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid #d8e2ef;background:#f7f9fc;color:#73829a;font-size:11px;font-weight:800}
.reset-steps span.active,.reset-steps span.done{background:#1768ef;border-color:#1768ef;color:#fff}
.reset-steps i{height:2px;background:#e2e8f2}.reset-steps span.done+i{background:#1768ef}
.auth-alert-v3.success{background:#edf9f2!important;border-color:#cdebd8!important;color:#187747!important}
.auth-card-pro .inline-action{min-height:48px;min-width:108px}
.auth-card-pro .verify-action{color:#fff}
@media(max-width:620px){
  .auth-panel-pro{align-items:flex-start}
  .auth-card-pro{padding:22px 16px 24px!important}
  .auth-card-pro .auth-heading-pro h1{font-size:24px!important}
  .auth-card-pro .auth-heading-pro{margin-bottom:19px}
  .auth-options-row{font-size:10.5px}
  .auth-switch-line{margin-top:18px;padding-top:17px}
  .signup-email-row{grid-template-columns:1fr!important}
  .auth-card-pro .inline-action{width:100%;min-height:45px}
}
@media(max-width:380px){.auth-options-row{align-items:flex-start;flex-direction:column}.auth-text-link{align-self:flex-end;margin-top:-24px}.reset-steps{grid-template-columns:28px 1fr 28px 1fr 28px}.reset-steps span{width:28px;height:28px}}


/* Profile settings: photo + password security */
.avatar{background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden}.avatar.has-photo{color:transparent;background-color:#eef4ff;box-shadow:inset 0 0 0 1px rgba(33,104,243,.14)}
.profile-settings-modal{width:min(590px,100%)}.profile-settings-layout{display:grid;gap:14px}.profile-photo-card{display:grid;grid-template-columns:78px minmax(0,1fr);gap:15px;align-items:center;padding:15px;border:1px solid #e1e9f4;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#fff)}.profile-photo-preview{width:78px;height:78px;border-radius:22px;background:#eaf2ff;color:#1768ef;display:grid;place-items:center;background-size:cover;background-position:center;border:1px solid #d8e5f7;box-shadow:0 6px 18px rgba(31,91,184,.08);overflow:hidden}.profile-photo-preview span{font-size:27px;font-weight:850}.profile-photo-preview.has-photo span{display:none}.profile-photo-copy{min-width:0}.profile-photo-copy>strong{display:block;font-size:13px;color:#172b47}.profile-photo-copy>small{display:block;margin-top:4px;font-size:10px;color:#77859a}.profile-photo-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.profile-inline-btn{min-height:34px;border:1px solid #d6e1ee;background:#fff;color:#405875;border-radius:9px;padding:0 11px;font-size:10.5px;font-weight:750;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.profile-inline-btn svg{width:15px;height:15px}.profile-inline-btn.primary-soft{border-color:#c6dafb;background:#edf5ff;color:#1768ef}.profile-inline-btn:disabled{opacity:.45;cursor:not-allowed}.profile-section-label{margin-top:2px;color:#8290a4;font-size:9.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.profile-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-name-grid .modal-field{margin:0}.profile-readonly-field{position:relative}.profile-readonly-field svg{position:absolute;left:11px;top:50%;width:16px;height:16px;transform:translateY(-50%);color:#179454}.profile-readonly-field input{padding-left:34px!important;background:#f8fafc!important;color:#65758d!important}.modal-field-hint{font-size:9.5px;color:#8290a4;line-height:1.5}.profile-security-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e1e9f4;border-radius:12px;padding:12px;background:#fff}.profile-security-card>span{width:40px;height:40px;border-radius:11px;background:#eef5ff;color:#1768ef;display:grid;place-items:center}.profile-security-card>span svg{width:20px;height:20px}.profile-security-card strong{display:block;font-size:11.5px;color:#203650}.profile-security-card small{display:block;margin-top:3px;font-size:9.5px;line-height:1.45;color:#7a899d}.profile-security-card button{height:34px;border:1px solid #cbdcf5;border-radius:9px;background:#f6f9ff;color:#1768ef;padding:0 11px;font-size:10px;font-weight:800;cursor:pointer}.password-settings-modal{width:min(480px,100%)}.password-change-note{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;border:1px solid #dce8f8;background:#f7faff;border-radius:12px;padding:11px 12px;margin-bottom:10px}.password-change-note>svg{width:20px;height:20px;color:#1768ef;margin:auto}.password-change-note strong{display:block;font-size:11px;color:#213b5e}.password-change-note small{display:block;color:#75869d;font-size:9.5px;line-height:1.45;margin-top:2px}.modal-password-wrap{position:relative}.modal-password-wrap input{padding-right:42px!important}.modal-password-wrap button{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;background:transparent;color:#687d99;display:grid;place-items:center;cursor:pointer}.modal-password-wrap button:hover{background:#eef4fc;color:#1768ef}.modal-password-wrap button svg{width:17px;height:17px}
@media(max-width:700px){.profile-settings-modal{width:100%;padding:22px 17px}.profile-photo-card{grid-template-columns:64px minmax(0,1fr);padding:12px;gap:12px}.profile-photo-preview{width:64px;height:64px;border-radius:18px}.profile-photo-preview span{font-size:23px}.profile-name-grid{grid-template-columns:1fr;gap:0}.profile-security-card{grid-template-columns:38px minmax(0,1fr)}.profile-security-card>button{grid-column:1/-1;width:100%;height:40px}.profile-settings-modal .modal-actions{position:sticky;bottom:-22px;margin-left:-17px;margin-right:-17px;margin-bottom:-22px;padding:12px 17px max(12px,env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #edf2f8;backdrop-filter:blur(10px)}.profile-settings-modal .modal-button{flex:1;height:44px}.password-settings-modal .modal-actions{gap:7px}.password-settings-modal .modal-button{flex:1}}
@media(max-width:390px){.profile-photo-card{grid-template-columns:56px minmax(0,1fr)}.profile-photo-preview{width:56px;height:56px;border-radius:16px}.profile-photo-actions{gap:5px}.profile-inline-btn{padding-inline:9px}.profile-security-card{padding:10px}}


/* Profile settings mobile optimization v2 */
@media (max-width:700px){
  .modal-backdrop:has(.profile-settings-modal),
  .modal-backdrop:has(.password-settings-modal){
    place-items:end center;
    padding:0;
    background:rgba(11,25,47,.48);
  }
  .profile-settings-modal,
  .password-settings-modal{
    width:100%;
    max-width:none;
    max-height:94svh;
    border-radius:20px 20px 0 0;
    padding:20px 16px calc(14px + env(safe-area-inset-bottom));
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .profile-settings-modal .modal-close,
  .password-settings-modal .modal-close{
    position:sticky;
    float:right;
    top:0;
    z-index:5;
    margin:-4px -2px 0 8px;
    background:#f5f8fc;
    border:1px solid #e2e9f3;
  }
  .profile-settings-modal .modal-icon,
  .password-settings-modal .modal-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    margin-bottom:12px;
  }
  .profile-settings-modal h2,
  .password-settings-modal h2{
    font-size:19px;
    margin-right:42px;
  }
  .profile-settings-modal>p,
  .password-settings-modal>p{
    font-size:11px;
    line-height:1.5;
    margin-bottom:14px;
  }
  .profile-settings-layout{gap:11px}
  .profile-photo-card{
    grid-template-columns:60px minmax(0,1fr);
    gap:11px;
    padding:11px;
    border-radius:13px;
  }
  .profile-photo-preview{
    width:60px;
    height:60px;
    border-radius:17px;
  }
  .profile-photo-copy>strong{font-size:12.5px}
  .profile-photo-copy>small{font-size:9.5px;line-height:1.35}
  .profile-photo-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:6px;
    margin-top:8px;
  }
  .profile-inline-btn{
    min-height:38px;
    justify-content:center;
    padding:0 10px;
    font-size:10px;
    white-space:nowrap;
  }
  .profile-section-label{font-size:9px;margin-top:1px}
  .profile-name-grid{grid-template-columns:1fr;gap:0}
  .profile-settings-modal .modal-field{margin:9px 0;gap:6px}
  .profile-settings-modal .modal-field label,
  .password-settings-modal .modal-field label{font-size:10.5px}
  .profile-settings-modal .modal-field input,
  .password-settings-modal .modal-field input{
    min-height:46px;
    font-size:12px;
    border-radius:10px;
  }
  .modal-field-hint{font-size:9px}
  .profile-security-card{
    grid-template-columns:38px minmax(0,1fr);
    gap:9px;
    padding:11px;
  }
  .profile-security-card>span{width:38px;height:38px}
  .profile-security-card strong{font-size:11px}
  .profile-security-card small{font-size:9px}
  .profile-security-card>button{
    grid-column:1/-1;
    width:100%;
    min-height:42px;
    font-size:10.5px;
  }
  .profile-settings-modal .modal-actions,
  .password-settings-modal .modal-actions{
    position:sticky;
    bottom:calc(-14px - env(safe-area-inset-bottom));
    z-index:4;
    margin:14px -16px calc(-14px - env(safe-area-inset-bottom));
    padding:11px 16px calc(11px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.98);
    border-top:1px solid #e8eef6;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .profile-settings-modal .modal-button,
  .password-settings-modal .modal-button{
    width:100%;
    min-width:0;
    height:44px;
    padding:0 8px;
  }
  .password-change-note{
    grid-template-columns:34px 1fr;
    padding:10px;
    margin-bottom:7px;
  }
  .password-settings-modal .modal-field{margin:10px 0}
  .modal-password-wrap button{width:38px;height:38px}
}

@media (max-width:390px){
  .profile-settings-modal,
  .password-settings-modal{padding-left:13px;padding-right:13px}
  .profile-photo-card{
    grid-template-columns:54px minmax(0,1fr);
    gap:9px;
    padding:10px;
  }
  .profile-photo-preview{width:54px;height:54px;border-radius:15px}
  .profile-photo-actions{grid-template-columns:1fr}
  .profile-inline-btn{width:100%}
  .profile-settings-modal .modal-actions,
  .password-settings-modal .modal-actions{
    margin-left:-13px;
    margin-right:-13px;
    padding-left:13px;
    padding-right:13px;
  }
}

/* Password-protected file sharing */
.protected-share-modal{width:min(520px,100%)}
.protected-share-create,.protected-share-success{display:grid;gap:12px}
.protected-share-file{display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;align-items:center;border:1px solid #e0e8f3;border-radius:13px;padding:11px 12px;background:#f9fbfe;min-width:0}
.protected-share-file>span{width:44px;height:44px;border-radius:12px;background:#eaf2ff;color:#1768ef;display:grid;place-items:center}
.protected-share-file>span svg{width:21px;height:21px}
.protected-share-file strong{display:block;color:#1a2d49;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.protected-share-file small{display:block;color:#7b899d;font-size:9.5px;margin-top:3px}
.protected-share-note{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:start;border:1px solid #dce8f8;background:#f5f9ff;border-radius:11px;padding:10px 11px;color:#5f718a;font-size:9.5px;line-height:1.5}
.protected-share-note svg{width:17px;height:17px;color:#1768ef;margin:1px auto 0}
.protected-share-password-wrap{position:relative}
.protected-share-password-wrap input{padding-right:43px!important}
.protected-share-password-wrap button{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:35px;height:35px;border:0;background:transparent;border-radius:8px;color:#6c7e98;display:grid;place-items:center;cursor:pointer}
.protected-share-password-wrap button:hover{background:#eef4fc;color:#1768ef}
.protected-share-password-wrap button svg{width:16px;height:16px}
.protected-share-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.protected-share-link-row input{min-width:0;font-size:10px!important;color:#51647f!important;background:#f8fafc!important}
.protected-share-link-row button{height:42px;border:1px solid #cbdcf5;border-radius:9px;background:#edf5ff;color:#1768ef;padding:0 12px;display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:800;cursor:pointer}
.protected-share-link-row button svg{width:15px;height:15px}
.doc-action-menu{width:190px}
@media(max-width:700px){
  .modal-backdrop:has(.protected-share-modal){place-items:end center;padding:0;background:rgba(11,25,47,.48)}
  .protected-share-modal{width:100%;max-width:none;max-height:92svh;border-radius:20px 20px 0 0;padding:20px 16px calc(14px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .protected-share-modal .modal-close{position:sticky;float:right;top:0;z-index:5;margin:-4px -2px 0 8px;background:#f5f8fc;border:1px solid #e2e9f3}
  .protected-share-modal .modal-icon{width:42px;height:42px;border-radius:12px;margin-bottom:12px}
  .protected-share-modal h2{font-size:19px;margin-right:42px}
  .protected-share-modal>p{font-size:11px;line-height:1.5;margin-bottom:14px}
  .protected-share-file{grid-template-columns:40px minmax(0,1fr);padding:10px}
  .protected-share-file>span{width:40px;height:40px}
  .protected-share-modal .modal-field{margin:9px 0;gap:6px}
  .protected-share-modal .modal-field input{min-height:46px;font-size:12px;border-radius:10px}
  .protected-share-modal .modal-actions{position:sticky;bottom:calc(-14px - env(safe-area-inset-bottom));z-index:4;margin:14px -16px calc(-14px - env(safe-area-inset-bottom));padding:11px 16px calc(11px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);border-top:1px solid #e8eef6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .protected-share-modal .modal-button{width:100%;min-width:0;height:44px;padding:0 8px}
  .protected-share-link-row{grid-template-columns:1fr}
  .protected-share-link-row button{width:100%;height:42px;justify-content:center}
}
@media(max-width:390px){
  .protected-share-modal{padding-left:13px;padding-right:13px}
  .protected-share-modal .modal-actions{margin-left:-13px;margin-right:-13px;padding-left:13px;padding-right:13px}
}


/* Password-protected share mobile optimization v2 */
@media (max-width:700px){
  .modal-backdrop.protected-share-backdrop{
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:0;
    overflow:hidden;
    background:rgba(11,25,47,.50);
  }
  .modal-backdrop.protected-share-backdrop .protected-share-modal{
    width:100%;
    max-width:none;
    max-height:min(94dvh,760px);
    margin:0;
    padding:18px 15px calc(12px + env(safe-area-inset-bottom));
    border-radius:22px 22px 0 0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    box-shadow:0 -18px 60px rgba(10,27,57,.24);
  }
  .protected-share-modal .modal-close{
    position:sticky;
    top:0;
    float:right;
    width:38px;
    height:38px;
    margin:-1px 0 0 10px;
    z-index:8;
    border:1px solid #e1e8f2;
    background:rgba(248,250,253,.98);
    box-shadow:0 3px 10px rgba(18,45,86,.06);
  }
  .protected-share-modal .modal-icon{
    width:40px;
    height:40px;
    margin:0 0 10px;
    border-radius:11px;
  }
  .protected-share-modal h2{
    margin:0 46px 5px 0;
    font-size:18px;
    line-height:1.25;
  }
  .protected-share-modal>p{
    margin:0 0 12px;
    font-size:11px;
    line-height:1.45;
  }
  .protected-share-create,
  .protected-share-success{
    gap:10px;
  }
  .protected-share-file{
    grid-template-columns:38px minmax(0,1fr);
    gap:9px;
    padding:9px 10px;
    border-radius:11px;
  }
  .protected-share-file>span{
    width:38px;
    height:38px;
    border-radius:10px;
  }
  .protected-share-file>span svg{width:19px;height:19px}
  .protected-share-file strong{font-size:11.5px}
  .protected-share-file small{font-size:9px;line-height:1.35;white-space:normal}
  .protected-share-note{
    grid-template-columns:26px minmax(0,1fr);
    gap:7px;
    padding:9px 10px;
    border-radius:10px;
    font-size:9.5px;
    line-height:1.45;
  }
  .protected-share-note svg{width:16px;height:16px}
  .protected-share-modal .modal-field{
    display:grid;
    gap:6px;
    margin:7px 0;
    min-width:0;
  }
  .protected-share-modal .modal-field label{
    font-size:10.5px;
    line-height:1.3;
  }
  .protected-share-password-wrap{
    width:100%;
    min-width:0;
  }
  .protected-share-password-wrap input,
  .protected-share-modal .modal-field input{
    display:block;
    width:100%;
    min-width:0;
    min-height:48px;
    padding:10px 46px 10px 12px!important;
    border-radius:11px;
    font-size:16px!important;
    line-height:1.2;
  }
  .protected-share-link-row input{
    padding-right:12px!important;
    font-size:12px!important;
  }
  .protected-share-password-wrap button{
    right:5px;
    width:38px;
    height:38px;
    border-radius:9px;
  }
  .protected-share-modal .modal-field-hint{
    font-size:9.5px;
    line-height:1.4;
  }
  .protected-share-modal .modal-actions{
    position:sticky;
    bottom:calc(-12px - env(safe-area-inset-bottom));
    z-index:7;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin:12px -15px calc(-12px - env(safe-area-inset-bottom));
    padding:10px 15px calc(10px + env(safe-area-inset-bottom));
    border-top:1px solid #e6edf6;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .protected-share-modal .modal-button{
    width:100%;
    min-width:0;
    height:46px;
    border-radius:10px;
    font-size:11.5px;
  }
  .protected-share-modal .modal-actions .primary{
    grid-row:1;
  }
  .protected-share-link-row{
    grid-template-columns:1fr;
    gap:7px;
    min-width:0;
  }
  .protected-share-link-row button{
    width:100%;
    min-height:44px;
    justify-content:center;
  }
}

@media (max-width:390px){
  .modal-backdrop.protected-share-backdrop .protected-share-modal{
    max-height:96dvh;
    padding-left:12px;
    padding-right:12px;
    border-radius:18px 18px 0 0;
  }
  .protected-share-modal .modal-actions{
    margin-left:-12px;
    margin-right:-12px;
    padding-left:12px;
    padding-right:12px;
  }
  .protected-share-modal h2{font-size:17px}
  .protected-share-file{grid-template-columns:36px minmax(0,1fr)}
  .protected-share-file>span{width:36px;height:36px}
}

@media (max-width:700px) and (max-height:620px){
  .modal-backdrop.protected-share-backdrop .protected-share-modal{
    max-height:98dvh;
    padding-top:12px;
  }
  .protected-share-modal .modal-icon{display:none}
  .protected-share-modal h2{margin-top:2px}
  .protected-share-modal>p{margin-bottom:8px}
  .protected-share-create,.protected-share-success{gap:7px}
  .protected-share-note{padding-block:7px}
  .protected-share-modal .modal-field{margin:5px 0}
}

/* Timed share link */
.timed-share-modal{width:min(530px,100%)}
.timed-share-create{gap:11px}
.timed-share-preset-field{margin-bottom:8px}
.timed-share-presets{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.timed-share-presets button{min-width:0;height:38px;border:1px solid #d8e2ef;border-radius:9px;background:#fff;color:#536983;font-size:10px;font-weight:800;cursor:pointer;padding:0 6px}
.timed-share-presets button:hover{border-color:#adc8ef;background:#f7faff;color:#1768ef}
.timed-share-presets button.is-selected{border-color:#1768ef;background:#edf5ff;color:#1768ef;box-shadow:0 0 0 2px rgba(23,104,239,.08)}
.timed-share-custom-row{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:8px}
.timed-share-custom-row input,.timed-share-custom-row select{min-width:0}
@media(max-width:700px){
  .timed-share-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .timed-share-presets button{height:42px;font-size:10.5px}
  .timed-share-custom-row{grid-template-columns:minmax(0,1fr) 118px}
  .timed-share-custom-row input,.timed-share-custom-row select{min-height:46px!important;font-size:16px!important}
}
@media(max-width:380px){
  .timed-share-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .timed-share-custom-row{grid-template-columns:1fr}
}

/* Compact mobile share creation sheets v3 */
@media (max-width:700px){
  .modal-backdrop.protected-share-backdrop{
    align-items:flex-end;
    padding:0 10px calc(8px + env(safe-area-inset-bottom));
  }
  .modal-backdrop.protected-share-backdrop .protected-share-modal{
    width:min(100%,410px);
    max-width:410px;
    max-height:86dvh;
    margin:0 auto;
    padding:14px 13px 12px;
    border-radius:18px;
    box-shadow:0 18px 60px rgba(10,27,57,.28);
  }
  .protected-share-modal .modal-close{
    width:34px;
    height:34px;
    margin:0 0 0 8px;
    border-radius:9px;
  }
  .protected-share-modal .modal-icon{
    width:34px;
    height:34px;
    border-radius:10px;
    margin-bottom:7px;
  }
  .protected-share-modal h2{
    margin-right:40px;
    margin-bottom:3px;
    font-size:16.5px;
  }
  .protected-share-modal>p{
    margin-bottom:8px;
    font-size:10px;
    line-height:1.4;
  }
  .protected-share-create,.protected-share-success{gap:7px}
  .protected-share-file{
    grid-template-columns:34px minmax(0,1fr);
    gap:8px;
    padding:7px 8px;
    border-radius:10px;
  }
  .protected-share-file>span{width:34px;height:34px;border-radius:9px}
  .protected-share-file>span svg{width:17px;height:17px}
  .protected-share-file strong{font-size:10.8px}
  .protected-share-file small{font-size:8.5px;margin-top:1px}
  .protected-share-note{
    grid-template-columns:21px minmax(0,1fr);
    gap:6px;
    padding:7px 8px;
    border-radius:9px;
    font-size:8.7px;
    line-height:1.35;
  }
  .protected-share-note svg{width:14px;height:14px}
  .protected-share-modal .modal-field{gap:4px;margin:5px 0}
  .protected-share-modal .modal-field label{font-size:9.8px}
  .protected-share-password-wrap input,
  .protected-share-modal .modal-field input{
    min-height:43px;
    height:43px;
    padding-top:8px!important;
    padding-bottom:8px!important;
    border-radius:9px;
    font-size:16px!important;
  }
  .protected-share-password-wrap button{width:34px;height:34px;right:4px}
  .protected-share-modal .modal-field-hint{font-size:8.7px;line-height:1.3}
  .protected-share-modal .modal-actions{
    position:sticky;
    bottom:-12px;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin:9px -13px -12px;
    padding:9px 13px 10px;
  }
  .protected-share-modal .modal-button{
    height:42px;
    border-radius:9px;
    font-size:10.5px;
  }
  .protected-share-modal .modal-actions .primary{grid-row:auto}
  .protected-share-link-row{grid-template-columns:minmax(0,1fr) auto;gap:6px}
  .protected-share-link-row input{font-size:11px!important;padding-right:9px!important}
  .protected-share-link-row button{width:auto;min-height:42px;height:42px;padding:0 11px}
  .timed-share-preset-field{margin-bottom:3px}
  .timed-share-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .timed-share-presets button{height:36px;font-size:9.5px;border-radius:8px}
  .timed-share-custom-row{grid-template-columns:minmax(0,1fr) 105px;gap:6px}
  .timed-share-custom-row input,.timed-share-custom-row select{min-height:43px!important;height:43px;font-size:16px!important}
}
@media (max-width:370px){
  .modal-backdrop.protected-share-backdrop{padding-left:7px;padding-right:7px}
  .modal-backdrop.protected-share-backdrop .protected-share-modal{padding-left:11px;padding-right:11px;border-radius:16px}
  .protected-share-modal .modal-actions{margin-left:-11px;margin-right:-11px;padding-left:11px;padding-right:11px}
  .protected-share-link-row{grid-template-columns:1fr}
  .protected-share-link-row button{width:100%;justify-content:center}
  .timed-share-custom-row{grid-template-columns:1fr 96px}
}
@media (max-width:700px) and (max-height:620px){
  .modal-backdrop.protected-share-backdrop{padding-bottom:4px}
  .modal-backdrop.protected-share-backdrop .protected-share-modal{max-height:94dvh;padding-top:10px}
  .protected-share-modal .modal-icon{display:none}
  .protected-share-modal>p{margin-bottom:5px}
  .protected-share-create,.protected-share-success{gap:5px}
  .protected-share-note{padding-block:6px}
  .protected-share-modal .modal-field{margin:3px 0}
}




/* V148 auth verification-state fix
   Author-level display rules were overriding the browser's native [hidden]
   behavior on auth forms and the signup verified tick. Keep every auth step
   truly hidden until auth.js explicitly advances verification state. */
.auth-form[hidden],
.auth-form-v3[hidden],
.reset-form[hidden],
.otp-section[hidden],
.field-end-check[hidden],
.email-verified-badge[hidden]{display:none!important}

/* Register professional verification, live password guide & bilingual agreement */
.signup-email-control{position:relative}.signup-email-control input{padding-right:42px!important}.field-end-check{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#e8f8ef;color:#118449}.field-end-check svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.email-verified-badge{min-height:48px;min-width:108px;border:1px solid #bfe6cf;border-radius:9px;background:#eefaf3;color:#147b45;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;font-size:11px;font-weight:800}.email-verified-badge[hidden]{display:none}.email-verified-badge svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.signup-email-status{margin-top:-7px;font-size:9.8px;line-height:1.45;color:#78869a;transition:.2s ease}.signup-email-status.verified{color:#16804a;font-weight:700}.otp-section-v3{animation:signupReveal .22s ease both}.otp-section-v3.verified{border-color:#cce9d8!important;background:#f4fbf7!important}.otp-section-v3.verified .field-help{color:#147b45!important;font-weight:700}@keyframes signupReveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.password-live-box{display:grid;gap:9px;padding:13px 14px;border:1px solid #dce6f3;border-radius:11px;background:#f8fbff;transition:border-color .2s ease,background .2s ease}.password-strength-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.password-strength-head strong{font-size:11px;color:#17355f}.password-strength-head span{font-size:9.5px;font-weight:800;color:#7e8ba0}.password-strength-track{height:5px;border-radius:999px;background:#e3eaf4;overflow:hidden}.password-strength-track i{display:block;height:100%;width:0;border-radius:inherit;background:#a6b2c3;transition:width .22s ease,background .22s ease}.password-live-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.password-live-rule{display:flex;align-items:center;gap:5px;color:#728198;font-size:9.5px;line-height:1.35}.password-live-rule i{width:16px;height:16px;flex:0 0 16px;border-radius:50%;display:grid;place-items:center;background:#e7edf5;color:#94a0b0;font-size:9px;font-style:normal;font-weight:900}.password-live-rule.met{color:#157947}.password-live-rule.met i{background:#dff5e8;color:#118148}.password-match-status{font-size:9.5px;color:#7a879b;padding-top:1px}.password-match-status.match{color:#157947;font-weight:700}.password-match-status.mismatch{color:#c33c48;font-weight:700}.signup-agreement-check{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:start;border:1px solid #e2e8f1;border-radius:10px;background:#fff;padding:11px 12px;color:#5d6d84;font-size:10px;line-height:1.55}.signup-agreement-check input{width:16px;height:16px;margin:1px 0 0;accent-color:#1768ef}.signup-agreement-check label{cursor:pointer}.signup-agreement-check button{display:inline;border:0;background:transparent;padding:0;color:#1768ef;font:inherit;font-weight:750;cursor:pointer;text-align:left}.signup-agreement-check button:hover{text-decoration:underline}.signup-submit-help{text-align:center;margin-top:-6px;color:#8a96a8;font-size:9.5px;line-height:1.4;min-height:14px}.signup-submit-help.ready{color:#157947;font-weight:700}.auth-submit-v3:disabled{cursor:not-allowed;opacity:.55;filter:saturate(.7);box-shadow:none!important}.auth-submit-v3:disabled:hover{transform:none!important}.auth-field .field-control:focus-within{border-color:#75a5f5;box-shadow:0 0 0 3px rgba(23,104,239,.08);transition:border-color .18s ease,box-shadow .18s ease}
.agreement-backdrop{position:fixed;inset:0;z-index:500;background:rgba(9,22,43,.52);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:grid;place-items:center;padding:18px}.agreement-backdrop[hidden]{display:none}.agreement-modal{width:min(760px,100%);max-height:min(820px,calc(100dvh - 36px));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:#fff;border:1px solid rgba(207,219,235,.9);border-radius:18px;box-shadow:0 30px 90px rgba(13,38,78,.28);overflow:hidden}.agreement-modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px 13px;border-bottom:1px solid #edf1f6}.agreement-brand{display:flex;align-items:center;gap:12px;min-width:0}.agreement-brand img{width:116px;max-height:38px;object-fit:contain;object-position:left center}.agreement-brand div{display:grid;gap:2px;border-left:1px solid #e6ebf2;padding-left:12px;min-width:0}.agreement-brand strong{font-size:13px;color:#172a47}.agreement-brand small{font-size:9.5px;color:#7b899e}.agreement-close{width:36px;height:36px;flex:0 0 36px;border:1px solid #e1e7f0;border-radius:10px;background:#f8fafc;color:#61728b;font-size:23px;line-height:1;cursor:pointer}.agreement-close:hover{background:#eef4fc;color:#1768ef}.agreement-language-tabs{display:flex;gap:5px;padding:10px 18px;border-bottom:1px solid #edf1f6;background:#fbfcfe}.agreement-language-tabs button{min-height:34px;border:1px solid transparent;border-radius:9px;background:transparent;color:#6b7b91;padding:0 14px;font-size:10.5px;font-weight:750;cursor:pointer}.agreement-language-tabs button.active{background:#eaf2ff;border-color:#cfdef7;color:#1768ef}.agreement-scroll{overflow:auto;padding:18px 21px 20px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.agreement-copy{color:#53647b;font-size:11px;line-height:1.72}.agreement-copy[hidden]{display:none}.agreement-copy h3{margin:18px 0 5px;color:#17314f;font-size:11.5px}.agreement-copy h3:first-of-type{margin-top:16px}.agreement-copy p{margin:0}.agreement-callout{border:1px solid #d8e6fa;border-radius:11px;background:#f5f9ff;padding:12px 13px;color:#4f627c}.agreement-callout strong{display:block;color:#173b69;font-size:11px;margin-bottom:3px}.agreement-modal-foot{padding:12px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid #e9eef5;background:rgba(255,255,255,.98);display:flex;align-items:center;justify-content:space-between;gap:14px}.agreement-modal-foot p{margin:0;color:#77869b;font-size:9.5px;line-height:1.45}.agreement-accept{min-height:40px;flex:0 0 auto;border:0;border-radius:9px;background:#1768ef;color:#fff;padding:0 16px;font-size:10.5px;font-weight:800;cursor:pointer}.agreement-accept:hover{filter:brightness(.98)}body.agreement-open{overflow:hidden}
@media(max-width:620px){.password-live-box{padding:11px 12px}.password-live-rules{grid-template-columns:1fr;gap:5px}.signup-agreement-check{font-size:9.7px;padding:10px}.email-verified-badge{width:100%;min-height:43px}.agreement-backdrop{place-items:end center;padding:0;background:rgba(9,22,43,.55)}.agreement-modal{width:100%;max-height:92dvh;border-radius:19px 19px 0 0;border-bottom:0}.agreement-modal-head{padding:12px 13px 10px}.agreement-brand{gap:8px}.agreement-brand img{width:92px}.agreement-brand div{padding-left:8px}.agreement-brand strong{font-size:11px}.agreement-brand small{font-size:8.7px}.agreement-close{width:34px;height:34px;flex-basis:34px}.agreement-language-tabs{padding:8px 13px}.agreement-language-tabs button{min-height:32px;flex:1}.agreement-scroll{padding:14px 15px 16px}.agreement-copy{font-size:10.3px;line-height:1.67}.agreement-copy h3{font-size:11px;margin-top:15px}.agreement-modal-foot{display:grid;gap:8px;padding:10px 13px calc(10px + env(safe-area-inset-bottom))}.agreement-modal-foot p{text-align:center;font-size:8.8px}.agreement-accept{width:100%;min-height:43px}.signup-email-status{margin-top:-4px}}
@media(max-width:380px){.agreement-modal{max-height:94dvh}.agreement-brand img{width:82px}.agreement-brand strong{font-size:10.3px}.agreement-scroll{padding-inline:13px}.password-strength-head{align-items:flex-start;flex-direction:column;gap:2px}}

/* =========================================================
   Register form responsive polish — 2026-08-22
   Keeps login/reset compact while giving the longer signup
   form enough room to breathe on desktop, tablet and mobile.
   ========================================================= */
body[data-auth-view="signup"] .auth-panel-pro{
  align-items:flex-start;
  justify-content:center;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
}
body[data-auth-view="signup"] .auth-card-pro{
  width:min(590px,100%);
  max-width:590px;
  margin-block:clamp(8px,2.6vh,26px);
}
body[data-auth-view="signup"] #signupView,
body[data-auth-view="signup"] #signupForm,
body[data-auth-view="signup"] #signupForm > *,
body[data-auth-view="signup"] .auth-field,
body[data-auth-view="signup"] .field-control,
body[data-auth-view="signup"] .input-action-row{
  min-width:0;
}
body[data-auth-view="signup"] #signupForm{
  gap:17px;
}
body[data-auth-view="signup"] .name-grid{
  gap:12px;
}
body[data-auth-view="signup"] .auth-field label{
  display:block;
  margin:0 0 8px;
  font-size:12px;
  line-height:1.35;
  letter-spacing:.005em;
}
body[data-auth-view="signup"] .field-control{
  width:100%;
}
body[data-auth-view="signup"] .field-control input{
  width:100%;
  min-width:0;
  min-height:50px;
  box-sizing:border-box;
  font-size:13.5px;
  line-height:1.25;
  text-overflow:ellipsis;
}
body[data-auth-view="signup"] .signup-email-row,
body[data-auth-view="signup"] .otp-action-row{
  align-items:stretch;
}
body[data-auth-view="signup"] .signup-email-status{
  margin:7px 1px 0;
  min-height:0;
  font-size:10.5px;
  line-height:1.55;
  overflow-wrap:anywhere;
}
body[data-auth-view="signup"] .inline-action,
body[data-auth-view="signup"] .email-verified-badge{
  min-height:50px;
  white-space:nowrap;
}
body[data-auth-view="signup"] .otp-section-v3{
  padding:14px;
}
body[data-auth-view="signup"] .otp-meta{
  display:flex;
  align-items:center;
  gap:7px 10px;
  flex-wrap:wrap;
  min-height:0;
  margin-top:8px;
}
body[data-auth-view="signup"] .field-help,
body[data-auth-view="signup"] .resend-link,
body[data-auth-view="signup"] .resend-timer{
  font-size:10px;
  line-height:1.5;
}
body[data-auth-view="signup"] .password-live-box{
  gap:10px;
  padding:14px 15px;
}
body[data-auth-view="signup"] .password-strength-head{
  flex-wrap:wrap;
}
body[data-auth-view="signup"] .password-strength-head strong{
  font-size:11.5px;
  line-height:1.4;
}
body[data-auth-view="signup"] .password-strength-head span,
body[data-auth-view="signup"] .password-match-status,
body[data-auth-view="signup"] .password-live-rule{
  font-size:10px;
  line-height:1.45;
}
body[data-auth-view="signup"] .password-live-rules{
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:7px 10px;
}
body[data-auth-view="signup"] .password-live-rule{
  min-width:0;
  overflow-wrap:anywhere;
}
body[data-auth-view="signup"] .signup-agreement-check{
  gap:10px;
  padding:13px 14px;
  font-size:10.5px;
  line-height:1.65;
}
body[data-auth-view="signup"] .signup-agreement-check > div{
  min-width:0;
  overflow-wrap:anywhere;
}
body[data-auth-view="signup"] .signup-agreement-check button{
  line-height:inherit;
  overflow-wrap:anywhere;
}
body[data-auth-view="signup"] .signup-submit-help{
  margin-top:-4px;
  min-height:0;
  padding:0 5px;
  font-size:10px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
body[data-auth-view="signup"] .auth-switch-line{
  margin-top:20px;
  padding-top:18px;
}

@media (max-width:1100px){
  body[data-auth-view="signup"] .auth-card-pro{
    width:min(550px,100%);
    max-width:550px;
  }
}

@media (max-width:700px){
  body[data-auth-view="signup"] .auth-panel-v3{
    padding-top:10px;
  }
  body[data-auth-view="signup"] .auth-card-pro{
    width:100%;
    max-width:none;
    margin-block:0;
    padding:20px 16px 24px!important;
  }
  body[data-auth-view="signup"] .auth-card-pro .auth-heading-pro{
    margin-bottom:18px;
  }
  body[data-auth-view="signup"] .auth-card-pro .auth-heading-pro h1{
    font-size:24px!important;
    line-height:1.18;
    letter-spacing:-.45px!important;
  }
  body[data-auth-view="signup"] .auth-card-pro .auth-heading-pro p{
    font-size:11.5px;
    line-height:1.6;
  }
  body[data-auth-view="signup"] #signupForm{
    gap:15px;
  }
  body[data-auth-view="signup"] .name-grid{
    grid-template-columns:1fr;
    gap:15px;
  }
  body[data-auth-view="signup"] .signup-email-row,
  body[data-auth-view="signup"] .otp-action-row{
    grid-template-columns:1fr!important;
    gap:8px;
  }
  body[data-auth-view="signup"] .signup-email-row .inline-action,
  body[data-auth-view="signup"] .otp-action-row .inline-action,
  body[data-auth-view="signup"] .email-verified-badge{
    width:100%;
    min-width:0;
    min-height:46px;
  }
  body[data-auth-view="signup"] .field-control input{
    min-height:49px;
    font-size:16px;
  }
  body[data-auth-view="signup"] .otp-control input{
    font-size:18px!important;
    letter-spacing:5px;
  }
  body[data-auth-view="signup"] .password-live-rules{
    grid-template-columns:1fr;
    gap:6px;
  }
  body[data-auth-view="signup"] .signup-agreement-check{
    padding:12px;
    font-size:10.8px;
    line-height:1.7;
  }
  body[data-auth-view="signup"] .signup-submit-help{
    font-size:10.2px;
  }
}

@media (max-width:420px){
  body[data-auth-view="signup"] .auth-panel-v3{
    padding-inline:8px;
  }
  body[data-auth-view="signup"] .auth-mobile-brand{
    margin-left:4px;
    margin-bottom:9px;
  }
  body[data-auth-view="signup"] .auth-card-pro{
    padding:18px 13px 22px!important;
    border-radius:14px;
  }
  body[data-auth-view="signup"] #signupForm{
    gap:14px;
  }
  body[data-auth-view="signup"] .auth-field label{
    font-size:11.5px;
  }
  body[data-auth-view="signup"] .password-live-box{
    padding:12px;
  }
  body[data-auth-view="signup"] .signup-agreement-check{
    grid-template-columns:20px minmax(0,1fr);
    padding:11px;
  }
  body[data-auth-view="signup"] .signup-agreement-check input{
    width:18px;
    height:18px;
  }
}

@media (max-width:340px){
  body[data-auth-view="signup"] .auth-panel-v3{padding-inline:5px}
  body[data-auth-view="signup"] .auth-card-pro{padding-inline:11px!important}
  body[data-auth-view="signup"] .auth-card-pro .auth-heading-pro h1{font-size:22px!important}
  body[data-auth-view="signup"] .signup-agreement-check{font-size:10.3px}
}

/* Dashboard PRO additions — advanced filters, share manager, inline preview */
.filter-count-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#1768ef;color:#fff;display:inline-grid;place-items:center;font-size:9px;font-weight:800}.filter-count-badge[hidden]{display:none}.advanced-filter-panel{padding:14px 16px;border-bottom:1px solid #e7edf4;background:#f9fbfe;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:10px;align-items:end}.advanced-filter-panel[hidden]{display:none}.advanced-filter-panel label{display:grid;gap:6px;min-width:0}.advanced-filter-panel label>span{font-size:9.5px;font-weight:750;color:#51627a;text-transform:uppercase;letter-spacing:.35px}.advanced-filter-panel select{width:100%;height:38px;border:1px solid #d9e3ef;border-radius:9px;background:#fff;color:#273b57;padding:0 10px;font:inherit;font-size:10.5px;outline:0}.advanced-filter-panel select:focus{border-color:#77a1ed;box-shadow:0 0 0 3px rgba(31,108,243,.09)}.clear-filter-button{height:38px;border:1px solid #d9e3ef;border-radius:9px;background:#fff;color:#496078;padding:0 12px;font-size:10.5px;font-weight:700;cursor:pointer;white-space:nowrap}.clear-filter-button:hover{background:#f1f5fa}.shared-links-manager{margin:14px 16px 2px;border:1px solid #dfe7f1;border-radius:13px;background:#fbfdff;overflow:hidden}.shared-links-manager[hidden]{display:none}.shared-links-heading{min-height:62px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e6edf6;background:#fff}.shared-links-heading strong{display:block;font-size:12px;color:#213650}.shared-links-heading small{display:block;margin-top:3px;font-size:9.7px;color:#728097}.shared-links-list{display:grid}.shared-links-loading,.shared-links-empty{padding:26px 18px;text-align:center;color:#74839a;font-size:11px}.share-link-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 110px 120px 80px auto;gap:12px;align-items:center;padding:12px 13px;border-bottom:1px solid #ebf0f6}.share-link-row:last-child{border-bottom:0}.share-link-file{display:flex;align-items:center;gap:10px;min-width:0}.share-link-file>span{width:34px;height:34px;border-radius:9px;background:#edf4ff;color:#1768ef;display:grid;place-items:center;flex:0 0 auto}.share-link-file svg{width:17px;height:17px}.share-link-file div{min-width:0}.share-link-file strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.2px;color:#20344f}.share-link-file small{display:block;margin-top:3px;font-size:9.4px;color:#75839a}.share-link-meta{display:grid;gap:3px}.share-link-meta span{font-size:8.6px;text-transform:uppercase;letter-spacing:.35px;color:#8995a7}.share-link-meta strong{font-size:10.5px;color:#344961;font-weight:700}.share-status{display:inline-flex;align-items:center;width:max-content;gap:5px;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.share-status.active{background:#e9f8ef;color:#118648}.share-status.expired{background:#f1f3f6;color:#6e7a8b}.share-link-actions{display:flex;justify-content:flex-end;gap:6px}.share-link-actions button{height:32px;border:1px solid #dbe4ef;border-radius:8px;background:#fff;color:#3e5773;padding:0 9px;font-size:9.5px;font-weight:700;cursor:pointer}.share-link-actions button:hover{background:#f2f6fb}.share-link-actions button.danger{color:#d93d49}.preview-modal{width:min(980px,100%);height:min(760px,calc(100svh - 36px));max-height:calc(100svh - 36px);display:flex;flex-direction:column;overflow:hidden;padding:22px}.preview-modal .modal-icon{display:none}.preview-modal h2{font-size:17px;margin-right:42px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-modal>p{margin-bottom:12px}.preview-modal #modalBody{min-height:0;flex:1;display:flex}.preview-modal .modal-actions{margin-top:12px;flex:0 0 auto}.preview-shell{width:100%;min-height:0;display:flex;align-items:center;justify-content:center;border:1px solid #dfe6ef;border-radius:12px;background:#f3f6fa;overflow:hidden}.preview-shell iframe{width:100%;height:100%;min-height:520px;border:0;background:#fff}.preview-shell img{display:block;max-width:100%;max-height:600px;object-fit:contain}.preview-text{width:100%;height:100%;min-height:500px;margin:0;overflow:auto;padding:18px;background:#fff;color:#26384f;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.preview-message{padding:34px;text-align:center;color:#65758b}.preview-message strong{display:block;color:#2a3f5b;margin-bottom:6px}.security-value{font-weight:800;color:#203a5c}.security-good{color:#10864a}.security-neutral{color:#66758b}
@media(max-width:1100px){.advanced-filter-panel{grid-template-columns:repeat(3,minmax(140px,1fr))}.clear-filter-button{width:100%}.share-link-row{grid-template-columns:minmax(190px,1.4fr) 100px 105px auto}.share-link-row>.share-link-meta:nth-of-type(3){display:none}}
@media(max-width:700px){.advanced-filter-panel{padding:12px 10px;grid-template-columns:1fr 1fr;gap:9px}.advanced-filter-panel label:last-of-type{grid-column:1/-1}.clear-filter-button{grid-column:1/-1}.collection-actions{display:grid;grid-template-columns:1fr 1fr}.collection-actions #emptyTrashBtn:not([hidden]){grid-column:1/-1}.shared-links-manager{margin:10px}.shared-links-heading{align-items:flex-start}.shared-links-heading .secondary-button{flex:0 0 auto;width:auto}.share-link-row{grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:12px 10px}.share-link-row>.share-link-meta{display:none}.share-link-actions{grid-column:1/-1;justify-content:flex-start;padding-left:44px}.preview-modal{height:calc(100svh - 20px);max-height:calc(100svh - 20px);padding:18px 12px}.preview-shell iframe{min-height:calc(100svh - 190px)}.preview-shell img{max-height:calc(100svh - 190px)}.preview-text{min-height:calc(100svh - 190px);font-size:11px;padding:12px}}

/* Dashboard fast-load experience */
.session-gate{transition:opacity .18s ease,visibility .18s ease;background:rgba(247,250,255,.985)}
.session-gate.is-complete{opacity:0;visibility:hidden;pointer-events:none}
.dashboard-loading-card{width:min(360px,calc(100vw - 32px));padding:30px 28px 26px;border-radius:20px}
.dashboard-loader-mark{width:58px;height:58px;position:relative;margin:0 auto 16px;display:grid;place-items:center}
.dashboard-loader-mark:before{content:"";position:absolute;inset:4px;border:3px solid #e8eff9;border-top-color:#1768ef;border-radius:50%;animation:dashboardLoaderSpin .8s linear infinite}
.dashboard-loader-mark:after{content:"";position:absolute;inset:13px;border-radius:14px;background:#edf4ff}
.dashboard-loader-mark span{position:absolute;z-index:1;top:27px;left:22px;width:4px;height:4px;border-radius:50%;background:#1768ef;animation:dashboardLoaderDot 1.05s ease-in-out infinite}.dashboard-loader-mark span:nth-child(2){left:28px;animation-delay:.14s}.dashboard-loader-mark span:nth-child(3){left:34px;animation-delay:.28s}
.dashboard-loading-card strong{font-size:16px;color:#172c49;letter-spacing:-.15px}
.dashboard-loading-card small{max-width:280px;margin:7px auto 0;line-height:1.55;color:#75839a}
.dashboard-loading-progress{height:5px;margin:20px 0 0;border-radius:999px;background:#e8eef7;overflow:hidden}
.dashboard-loading-progress>span{display:block;height:100%;border-radius:inherit;background:#1768ef;transition:width .35s ease}
.dashboard-loading-word{margin-top:11px;color:#7c899d;font-size:10px;font-weight:750;letter-spacing:.25px;text-transform:uppercase}
.dashboard-loading-word span{display:inline-block;animation:dashboardLoadingBlink 1.2s infinite both}.dashboard-loading-word span:nth-child(2){animation-delay:.18s}.dashboard-loading-word span:nth-child(3){animation-delay:.36s}
.dashboard-loading-retry{margin:15px auto 0;height:38px;padding:0 16px;border:0;border-radius:9px;background:#1768ef;color:#fff;font:inherit;font-size:10.5px;font-weight:800;cursor:pointer}
.session-gate.is-error .dashboard-loader-mark:before{animation:none;border-color:#f3d8dc;border-top-color:#dc4350}.session-gate.is-error .dashboard-loading-progress>span{background:#dc4350}.session-gate.is-error .dashboard-loading-word{display:none}
@keyframes dashboardLoaderSpin{to{transform:rotate(360deg)}}
@keyframes dashboardLoaderDot{0%,80%,100%{opacity:.25;transform:translateY(1px)}40%{opacity:1;transform:translateY(-2px)}}
@keyframes dashboardLoadingBlink{0%,70%,100%{opacity:.25}35%{opacity:1}}
@media(max-width:520px){.dashboard-loading-card{padding:26px 20px 23px}.dashboard-loader-mark{width:54px;height:54px;margin-bottom:14px}.dashboard-loading-card strong{font-size:15px}.dashboard-loading-card small{font-size:10.5px}}
@media(prefers-reduced-motion:reduce){.dashboard-loader-mark:before,.dashboard-loader-mark span,.dashboard-loading-word span{animation:none}.session-gate,.dashboard-loading-progress>span{transition:none}}

.session-gate[hidden]{display:none!important}
@media(max-width:560px){.session-gate{padding:14px;align-items:center}}
.security-center-modal .modal-actions{flex-wrap:wrap}
@media(max-width:520px){.security-center-modal .modal-actions{display:grid;grid-template-columns:1fr 1fr}.security-center-modal .modal-button{width:100%;padding-inline:10px}.security-center-modal .modal-button.primary{grid-column:1/-1}}


/* Bilingual How to Work guide */
.howto-view{display:grid;gap:18px}.howto-view[hidden]{display:none!important}
.howto-nav-item{position:relative}.howto-nav-badge{margin-left:auto!important;font-style:normal!important;font-size:8px!important;font-weight:850!important;line-height:1!important;padding:5px 7px!important;border-radius:999px!important;background:#e8f1ff!important;color:#1768ef!important;min-width:auto!important}
.dash-nav-item.active .howto-nav-badge{background:rgba(255,255,255,.18)!important;color:inherit!important}
.howto-tap-blink{animation:howtoTapBlink .48s ease!important}@keyframes howtoTapBlink{0%,100%{filter:none;transform:none}20%{filter:brightness(1.2);transform:scale(.985)}45%{box-shadow:0 0 0 5px rgba(35,112,240,.13)}70%{filter:brightness(.98);transform:scale(1.01)}}
.howto-hero{position:relative;overflow:hidden;border:1px solid #dce7f6;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f4f8ff 58%,#edf5ff 100%);padding:24px;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center;box-shadow:0 8px 25px rgba(18,58,115,.06)}
.howto-hero:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-100px;top:-135px;background:rgba(31,104,239,.065);pointer-events:none}.howto-hero-icon{width:64px;height:64px;border-radius:17px;background:linear-gradient(145deg,#2b79f8,#0e5fe9);color:#fff;display:grid;place-items:center;box-shadow:0 12px 26px rgba(31,104,239,.2);position:relative;z-index:1}.howto-hero-icon svg{width:30px;height:30px}.howto-hero-copy{position:relative;z-index:1}.howto-eyebrow{display:block;color:#1768ef;font-size:9.5px;line-height:1.2;font-weight:850;letter-spacing:.12em}.howto-hero-copy h2{margin:5px 0 6px;color:#102441;font-size:24px;letter-spacing:-.4px}.howto-hero-copy p{margin:0;max-width:780px;color:#60728a;font-size:11.5px;line-height:1.7}
.howto-language-switch{display:flex;position:relative;z-index:2;background:#edf3fb;border:1px solid #dce7f5;border-radius:12px;padding:4px;gap:4px}.howto-lang-btn{min-height:38px;padding:0 13px;border:0;border-radius:9px;background:transparent;color:#667891;font:inherit;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.howto-lang-btn.active{background:#fff;color:#1768ef;box-shadow:0 4px 12px rgba(23,74,150,.08)}
.howto-security-note{border:1px solid #d9e6f8;border-radius:14px;background:#f8fbff;padding:14px 16px;display:flex;align-items:flex-start;gap:12px;color:#355171}.howto-security-note>svg{width:22px;height:22px;flex:0 0 auto;color:#1768ef;margin-top:1px}.howto-security-note>div{display:grid;gap:3px}.howto-security-note strong{font-size:11px;color:#24415f}.howto-security-note span{font-size:10px;line-height:1.55;color:#667b96}
.howto-language-panel{display:grid;gap:22px}.howto-language-panel[hidden]{display:none!important}.howto-section-heading{padding:4px 2px 0}.howto-section-heading>span{display:block;color:#1768ef;font-size:9px;font-weight:850;letter-spacing:.11em;margin-bottom:4px}.howto-section-heading h3{margin:0 0 4px;color:#1b3150;font-size:17px;letter-spacing:-.2px}.howto-section-heading p{margin:0;color:#75849a;font-size:10.5px;line-height:1.55}.howto-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:-12px}
.howto-item{border:1px solid #e0e8f3;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 5px 16px rgba(20,56,107,.035);transition:border-color .18s ease,box-shadow .18s ease}.howto-item[open]{border-color:#cfdff5;box-shadow:0 8px 22px rgba(20,71,145,.06)}.howto-item summary{list-style:none;min-height:74px;padding:13px 14px;display:grid;grid-template-columns:38px minmax(0,1fr) 20px;gap:11px;align-items:center;cursor:pointer;user-select:none}.howto-item summary::-webkit-details-marker{display:none}.howto-step-icon{width:38px;height:38px;border-radius:11px;background:#edf4ff;color:#1768ef;display:grid;place-items:center}.howto-step-icon svg{width:19px;height:19px}.howto-item summary span:nth-child(2){display:grid;gap:3px}.howto-item summary b{font-size:11.5px;color:#253c5a;line-height:1.35}.howto-item summary small{font-size:9.5px;color:#7a899d;line-height:1.4}.howto-item summary>i{font-style:normal;font-size:18px;color:#8291a5;text-align:center;transition:transform .18s ease,color .18s ease}.howto-item[open] summary>i{transform:rotate(45deg);color:#1768ef}.howto-body{border-top:1px solid #edf1f6;padding:13px 15px 15px 63px;color:#5f7086;font-size:10px;line-height:1.68}.howto-body p{margin:0}.howto-body ul{margin:8px 0 0;padding-left:16px;display:grid;gap:4px}.howto-body li::marker{color:#1768ef}
.howto-footer-card{border:1px solid #d8e5f7;border-radius:15px;background:#102c59;color:#fff;padding:16px 18px;display:flex;align-items:center;gap:13px}.howto-footer-card>div{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.11);display:grid;place-items:center;flex:0 0 auto}.howto-footer-card svg{width:21px;height:21px}.howto-footer-card>span{display:grid;gap:3px}.howto-footer-card strong{font-size:11.5px}.howto-footer-card small{font-size:9.7px;line-height:1.5;color:#cad8eb}
@media(max-width:980px){.howto-hero{grid-template-columns:58px minmax(0,1fr)}.howto-language-switch{grid-column:1/-1;width:max-content}.howto-grid{grid-template-columns:1fr}.howto-body{padding-left:63px}}
@media(max-width:700px){.howto-view{gap:13px}.howto-hero{padding:18px 15px;grid-template-columns:48px minmax(0,1fr);gap:12px;border-radius:14px}.howto-hero-icon{width:48px;height:48px;border-radius:13px}.howto-hero-icon svg{width:24px;height:24px}.howto-hero-copy h2{font-size:19px}.howto-hero-copy p{font-size:10.5px}.howto-language-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}.howto-lang-btn{min-height:40px}.howto-security-note{padding:12px 13px}.howto-section-heading h3{font-size:15px}.howto-grid{gap:9px;margin-top:-14px}.howto-item summary{min-height:70px;padding:12px;grid-template-columns:36px minmax(0,1fr) 18px;gap:9px}.howto-step-icon{width:36px;height:36px}.howto-item summary b{font-size:10.8px}.howto-item summary small{font-size:9px}.howto-body{padding:12px 13px 14px;font-size:9.7px;line-height:1.62}.howto-footer-card{padding:14px}.howto-nav-badge{font-size:7.5px!important}}
@media(max-width:420px){.howto-hero{grid-template-columns:1fr}.howto-hero-icon{width:46px;height:46px}.howto-security-note{align-items:flex-start}.howto-item summary{grid-template-columns:34px minmax(0,1fr) 16px}.howto-step-icon{width:34px;height:34px}.howto-footer-card{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.howto-tap-blink{animation:none!important}}

/* =========================================================
   Mobile polish + notification bell + Supabase activity sync
   ========================================================= */
.notifications-popover{overflow:hidden}
#notificationList{max-height:460px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.notification-limit-note{border-top:1px solid #edf1f6;padding:9px 10px 7px;text-align:center;color:#7b8799;font-size:9.5px;font-weight:700;background:#fbfdff}
.notification-item>div{min-width:0}.notification-item strong,.notification-item small{overflow-wrap:anywhere}.activity-item>div{min-width:0}.activity-item p{overflow-wrap:anywhere}

@media (max-width:700px){
  .dashboard-content,.dashboard-main,.dashboard-grid-primary,.dash-card,.collection-card,.howto-view,.about-view{min-width:0;max-width:100%}
  .dashboard-topbar{min-width:0}
  .top-search{min-width:0}
  .topbar-actions{flex:0 0 auto}
  .notification-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .notification-dot{right:1px;top:0;min-width:18px;height:18px;font-size:9px;line-height:1;padding-inline:4px}
  .notifications-popover{left:10px!important;right:10px!important;top:72px!important;width:auto!important;max-height:calc(100dvh - 86px);padding:7px;border-radius:15px;box-shadow:0 20px 55px rgba(12,36,73,.22)}
  .notifications-popover .popover-title{position:sticky;top:0;z-index:2;background:#fff;padding:10px 9px 11px}
  .notifications-popover .popover-title strong{font-size:13px}
  .notifications-popover .popover-title button{min-height:38px;padding:0 7px;font-size:10px;font-weight:750}
  #notificationList{max-height:calc(100dvh - 150px);padding-bottom:max(2px,env(safe-area-inset-bottom))}
  .notification-item{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:11px 8px}
  .notification-item span:first-child{width:38px;height:38px}
  .notification-item strong{font-size:12px;line-height:1.35}
  .notification-item small{font-size:10px;line-height:1.5;display:block;margin-top:3px}
  .notification-limit-note{position:sticky;bottom:0;padding:10px;background:rgba(251,253,255,.97);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .activity-list,.activity-log-list{padding-left:13px;padding-right:13px}
  .activity-item{grid-template-columns:38px minmax(0,1fr);gap:10px}
  .activity-item p{font-size:10.5px;line-height:1.55}
  .activity-log-list .activity-item{padding:12px 0}
  .activity-log-card .card-heading{gap:10px;flex-wrap:wrap;height:auto;min-height:58px;padding-block:9px}
  .activity-log-card #clearActivityBtn{min-height:40px}
  .howto-item,.howto-hero,.howto-security-note,.howto-footer-card{max-width:100%}
  .howto-body p,.howto-body li{overflow-wrap:anywhere}
  .dash-modal{width:min(100%,calc(100vw - 20px));max-height:calc(100dvh - 20px)}
  .modal-field input,.modal-field textarea,.modal-field select{font-size:16px}
  .modal-actions{flex-wrap:wrap}
  .modal-button{min-height:44px}
}

@media (max-width:430px){
  .dashboard-topbar{height:64px}
  .notifications-popover{left:7px!important;right:7px!important;top:69px!important;max-height:calc(100dvh - 78px);border-radius:14px}
  #notificationList{max-height:calc(100dvh - 145px)}
  .notification-item{padding:10px 7px}
  .dashboard-heading-row{min-width:0}
  .dashboard-heading-row>div:first-child{min-width:0}
  .dashboard-heading-row h1,.dashboard-heading-row p{overflow-wrap:anywhere}
  .collection-toolbar,.collection-actions{min-width:0}
  .collection-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .collection-actions .secondary-button{width:100%;min-height:42px;padding-inline:8px}
  .card-heading .text-link{min-height:38px;padding-inline:5px}
  .activity-log-card #clearActivityBtn{width:100%;justify-content:center}
  .modal-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .modal-actions .modal-button{width:100%}
  .modal-actions .modal-button:only-child,.modal-actions .modal-button.primary:last-child:nth-child(odd){grid-column:1/-1}
}

@media (max-width:360px){
  .dashboard-topbar{gap:4px;padding-inline:6px}
  .mobile-menu-button,.topbar-actions .notification-button{width:42px!important;height:42px!important;min-width:42px!important}
  .user-button{min-width:38px}
  .user-button .avatar{width:34px!important;height:34px!important}
  .top-search{height:42px!important;padding-inline:8px!important}
  .top-search input{font-size:12.5px!important}
  .notifications-popover{left:5px!important;right:5px!important}
}


/* First-time dashboard guided tour */
.dashboard-tour-layer{position:fixed;inset:0;z-index:1800;pointer-events:auto;background:transparent}.dashboard-tour-layer[hidden]{display:none}.dashboard-tour-focus{position:fixed;z-index:1801;border:2px solid #2f7df4;border-radius:14px;box-shadow:0 0 0 9999px rgba(7,18,35,.58),0 0 0 5px rgba(47,125,244,.18),0 12px 32px rgba(8,36,78,.18);transition:left .2s ease,top .2s ease,width .2s ease,height .2s ease;pointer-events:none}.dashboard-tour-pointer{position:fixed;z-index:1810;height:3px;min-width:22px;border-radius:999px;background:#fff;transform-origin:0 50%;filter:drop-shadow(0 2px 4px rgba(4,18,41,.38));pointer-events:none}.dashboard-tour-pointer::after{content:"";position:absolute;right:-1px;top:50%;width:10px;height:10px;border-top:3px solid #fff;border-right:3px solid #fff;transform:translateY(-50%) rotate(45deg);transform-origin:center}.dashboard-tour-card{position:fixed;z-index:1820;box-sizing:border-box;width:min(390px,calc(100vw - 32px));max-height:min(390px,calc(100dvh - 32px));overflow:auto;background:rgba(255,255,255,.99);border:1px solid rgba(213,225,241,.98);border-radius:19px;box-shadow:0 28px 90px rgba(3,19,43,.38);padding:18px 18px 16px;color:#1b2f4a;pointer-events:auto;-webkit-overflow-scrolling:touch}.dashboard-tour-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.dashboard-tour-kicker{font-size:9px;line-height:1;font-weight:900;letter-spacing:.14em;color:#1768ef}.dashboard-tour-count{font-size:10px;font-weight:800;color:#8290a4}.dashboard-tour-progress{height:4px;border-radius:999px;background:#eaf0f7;overflow:hidden;margin-bottom:15px}.dashboard-tour-progress span{display:block;height:100%;width:0;border-radius:inherit;background:#1768ef;transition:width .22s ease}.dashboard-tour-card h2{margin:0 0 7px;font-size:20px;line-height:1.18;letter-spacing:-.02em;color:#142945}.dashboard-tour-card p{margin:0;color:#607189;font-size:12px;line-height:1.65}.dashboard-tour-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px}.dashboard-tour-actions button{min-height:42px;border-radius:11px;font-size:11px;font-weight:850;cursor:pointer;touch-action:manipulation}.dashboard-tour-skip{border:1px solid #dce5ef;background:#fff;color:#718097;padding:0 16px}.dashboard-tour-next{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:112px;border:0;background:#1768ef;color:#fff;padding:0 19px;box-shadow:0 9px 24px rgba(23,104,239,.24)}.dashboard-tour-next span{font-size:17px;line-height:1}.dashboard-tour-actions button:focus-visible{outline:3px solid rgba(23,104,239,.25);outline-offset:2px}body.dashboard-tour-open .toast-stack{z-index:1700}
@media(max-width:680px){.dashboard-tour-focus{border-radius:12px;box-shadow:0 0 0 9999px rgba(7,18,35,.62),0 0 0 4px rgba(47,125,244,.19)}.dashboard-tour-card{width:auto;max-height:42dvh;border-radius:16px;padding:15px 15px max(14px,env(safe-area-inset-bottom))}.dashboard-tour-card h2{font-size:17px}.dashboard-tour-card p{font-size:11.5px;line-height:1.58}.dashboard-tour-actions{margin-top:14px}.dashboard-tour-actions button{min-height:44px}.dashboard-tour-skip{padding-inline:15px}.dashboard-tour-next{min-width:108px;padding-inline:17px}.dashboard-tour-kicker{font-size:8.5px}.dashboard-tour-count{font-size:9.5px}.dashboard-tour-pointer{height:2.5px}.dashboard-tour-pointer::after{width:8px;height:8px;border-width:2.5px}}
@media(max-width:380px){.dashboard-tour-card{left:7px!important;right:7px!important;padding:13px}.dashboard-tour-card h2{font-size:16px}.dashboard-tour-card p{font-size:11px}.dashboard-tour-actions{gap:8px}.dashboard-tour-actions button{font-size:10.5px}.dashboard-tour-next{min-width:100px}.dashboard-tour-focus{border-radius:10px}}
@media(prefers-reduced-motion:reduce){.dashboard-tour-focus,.dashboard-tour-progress span{transition:none!important}}

/* =========================================================
   Security OTP + dashboard recovery + signup wheel fix
   2026-08-22
   ========================================================= */
.security-otp-box{margin-top:13px;border:1px solid #d9e7fb;border-radius:13px;background:linear-gradient(180deg,#f7faff,#fff);padding:12px;display:grid;gap:10px;min-width:0}
.security-otp-head{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center}.security-otp-head>span{width:36px;height:36px;border-radius:10px;background:#eaf3ff;color:#1768ef;display:grid;place-items:center}.security-otp-head svg{width:18px;height:18px}.security-otp-head strong{display:block;font-size:10.8px;color:#203954}.security-otp-head small{display:block;margin-top:2px;font-size:9.4px;line-height:1.5;color:#74849a;overflow-wrap:anywhere}.security-otp-head b{color:#3b5574;font-weight:800}
.security-otp-send{min-height:42px;border:1px solid #c9dbf7;border-radius:9px;background:#edf5ff;color:#1768ef;font-size:10.5px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.security-otp-send svg{width:16px;height:16px}.security-otp-send:hover{background:#e4f0ff}.security-otp-send:disabled{opacity:.62;cursor:not-allowed}
.security-otp-entry{display:grid;gap:7px}.security-otp-entry>label{font-size:10px!important;font-weight:800;color:#334a67;margin:0!important}.security-otp-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:8px}.security-otp-row input{width:100%;min-width:0;min-height:44px;border:1px solid #d4e0ef;border-radius:9px;padding:0 12px;font-size:16px;letter-spacing:5px;font-weight:800;outline:none;background:#fff;color:#19324f}.security-otp-row input:focus{border-color:#5e98f5;box-shadow:0 0 0 3px rgba(23,104,239,.09)}.security-otp-row button{border:0;border-radius:9px;background:#1768ef;color:#fff;font-size:10px;font-weight:850;cursor:pointer}.security-otp-row button:disabled{opacity:.65;cursor:not-allowed}
.security-otp-meta{display:flex;align-items:center;gap:7px 10px;flex-wrap:wrap;min-width:0}.security-otp-meta span{font-size:9.2px;line-height:1.45;color:#74849a;overflow-wrap:anywhere;min-width:0;flex:1 1 180px}.security-otp-meta span.is-error{color:#bd3946;font-weight:700}.security-otp-meta button{border:0;background:transparent;color:#1768ef;padding:0;font-size:9.4px;font-weight:800;cursor:pointer}.security-otp-meta b{font-size:9px;color:#8794a6;font-weight:750}
.security-otp-verified{min-height:38px;border:1px solid #bfe8cf;border-radius:9px;background:#effaf3;color:#167346;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:850}.security-otp-verified svg{width:16px;height:16px;stroke-width:2.4}
.security-otp-modal{width:min(520px,100%)}

/* Make the long signup page use normal document scrolling on desktop too.
   This fixes mouse-wheel scrolling being trapped inside the auth grid/panel. */
html:has(body[data-auth-view="signup"]){overflow-y:auto!important;scroll-behavior:smooth}
body[data-auth-view="signup"].auth-body-v3{display:block!important;height:auto!important;min-height:100vh!important;overflow-y:auto!important;overflow-x:hidden!important;place-items:initial!important}
body[data-auth-view="signup"] .auth-shell-v3{height:auto!important;min-height:100vh!important;overflow:visible!important;align-items:stretch}
body[data-auth-view="signup"] .auth-panel-pro,body[data-auth-view="signup"] .auth-panel-v3{height:auto!important;min-height:100vh!important;max-height:none!important;overflow:visible!important;overscroll-behavior:auto!important}
body[data-auth-view="signup"] .auth-card-pro{overflow:visible}

@media(max-width:700px){
  .security-otp-modal{width:100%}.security-otp-box{padding:11px;margin-top:11px}.security-otp-head{grid-template-columns:34px minmax(0,1fr)}.security-otp-head>span{width:34px;height:34px}.security-otp-head small{font-size:9.2px}.security-otp-row{grid-template-columns:1fr}.security-otp-row input{min-height:47px;font-size:18px;letter-spacing:6px}.security-otp-row button,.security-otp-send{min-height:44px}.security-otp-meta span{flex-basis:100%}
}
@media(max-width:380px){.security-otp-box{padding:10px}.security-otp-head{grid-template-columns:1fr}.security-otp-head>span{width:32px;height:32px}.security-otp-row input{letter-spacing:4px}.security-otp-meta{gap:5px}}


/* =========================================================
   Mobile auth + password recovery polish — 2026-08-22 v2
   ========================================================= */
.reset-view{min-width:0}
.reset-back-top{margin:0 0 16px;min-height:32px;align-items:center;gap:6px}
.reset-heading{align-items:center!important}
.reset-heading .auth-heading-icon{background:linear-gradient(145deg,#eaf3ff,#f8fbff)}
.reset-form{min-width:0}
.reset-field-note{display:block;margin-top:6px;color:#7d8ba0;font-size:9.8px;line-height:1.45}
.reset-code-card{border:1px solid #dce7f5;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f7faff);padding:14px;display:grid;gap:13px;min-width:0}
.reset-code-destination{display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px solid #e8eef6;min-width:0}
.reset-code-destination>span{width:40px;height:40px;border-radius:11px;background:#eaf3ff;color:#1768ef;display:grid;place-items:center}
.reset-code-destination>span svg{width:19px;height:19px}
.reset-code-destination strong{display:block;color:#1d3657;font-size:11.5px}
.reset-code-destination small{display:block;margin-top:3px;color:#718197;font-size:9.8px;line-height:1.4;overflow-wrap:anywhere}
.reset-code-destination b{color:#385678;font-weight:850}
.reset-otp-field{margin:0!important}
.reset-otp-control input{font-size:21px!important;letter-spacing:8px!important;font-variant-numeric:tabular-nums}
.reset-otp-control:focus-within{box-shadow:0 0 0 3px rgba(23,104,239,.10)}
.reset-inline-status{min-height:38px;border-radius:9px;padding:8px 10px;display:grid;grid-template-columns:16px minmax(0,1fr);gap:7px;align-items:center;background:#f4f7fb;color:#66778e;font-size:9.8px;line-height:1.45}
.reset-status-mark{width:14px;height:14px;border:2px solid #9aabc0;border-radius:50%;position:relative}
.reset-inline-status[data-state="verifying"]{background:#eef5ff;color:#2b5fa6}.reset-inline-status[data-state="verifying"] .reset-status-mark{border-color:#a9c6f7;border-top-color:#1768ef;animation:operationSpin .7s linear infinite}
.reset-inline-status[data-state="success"]{background:#effaf3;color:#167346}.reset-inline-status[data-state="success"] .reset-status-mark{border-color:#22a15a;background:#22a15a}.reset-inline-status[data-state="success"] .reset-status-mark:after{content:"";position:absolute;width:6px;height:3px;border-left:2px solid #fff;border-bottom:2px solid #fff;left:3px;top:3px;transform:rotate(-45deg)}
.reset-inline-status[data-state="error"]{background:#fff1f2;color:#b43543}.reset-inline-status[data-state="error"] .reset-status-mark{border-color:#dd6671}.reset-inline-status[data-state="error"] .reset-status-mark:before,.reset-inline-status[data-state="error"] .reset-status-mark:after{content:"";position:absolute;left:5px;top:2px;width:2px;height:7px;background:#c94855;border-radius:2px;transform:rotate(45deg)}.reset-inline-status[data-state="error"] .reset-status-mark:after{transform:rotate(-45deg)}
.reset-code-actions{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;min-width:0}
.reset-code-actions .resend-link,.reset-change-email{border:0;background:transparent;padding:4px 0;color:#1768ef;font:inherit;font-size:9.8px;font-weight:800;cursor:pointer}
.reset-code-actions .resend-link:disabled{color:#9aa8ba;cursor:not-allowed;text-decoration:none}
.reset-code-actions .resend-timer{color:#8a98aa;flex:1;font-size:9.2px}
.reset-change-email{margin-left:auto;color:#526c8d}
.reset-submit-fallback{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.reset-verified-strip{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;border:1px solid #c7ead5;background:#f0faf4;border-radius:11px;padding:10px 11px;color:#176f45}
.reset-verified-strip>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#24a45f;color:#fff;font-size:16px;font-weight:900}
.reset-verified-strip strong{display:block;font-size:10.8px}.reset-verified-strip small{display:block;margin-top:2px;font-size:9.3px;color:#558068}
.reset-password-guide{margin-top:0}.reset-password-tip{display:block;margin-top:8px;color:#7b899b;font-size:9.2px;line-height:1.45}
.reset-success-card{text-align:center;padding:8px 2px 2px}.reset-success-card[hidden]{display:none!important}.reset-success-icon{width:64px;height:64px;margin:4px auto 14px;border-radius:50%;background:#e7f8ee;color:#15914d;display:grid;place-items:center;font-size:29px;font-weight:900;box-shadow:inset 0 0 0 1px #c5e9d4}.reset-success-card h2{margin:0 0 7px;color:#183253;font-size:22px;letter-spacing:-.4px}.reset-success-card p{max-width:370px;margin:0 auto 20px;color:#6e7e93;font-size:11px;line-height:1.6}.reset-success-card .auth-submit{width:100%}

@media(max-width:980px){
  html{min-height:100%;overflow-x:hidden}
  body.auth-body-v3{width:100%;min-height:100dvh;overflow-x:hidden;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .auth-shell-v3{width:100%;min-height:100dvh!important;height:auto!important;overflow:visible!important}
  .auth-panel-v3,.auth-panel-pro{width:100%;height:auto!important;min-height:100dvh;overflow:visible!important;overscroll-behavior:auto}
  .auth-card-v3,.auth-card-pro{min-width:0;overflow:visible}
}
@media(max-width:620px){
  body.auth-body-v3{background:#f8fbff}
  .auth-panel-v3,.auth-panel-pro{padding:10px 10px calc(22px + env(safe-area-inset-bottom))!important;display:block!important}
  .auth-mobile-brand{margin:4px 4px 10px!important;min-height:48px;align-items:center}
  .auth-mobile-brand .brand-full-logo{width:min(170px,52vw)!important;max-height:52px}
  .auth-panel-top{min-height:36px;margin-bottom:9px!important;padding:0 3px!important}
  .auth-card-v3,.auth-card-pro{width:100%!important;max-width:none!important;margin:0!important;padding:19px 14px 22px!important;border-radius:16px!important;box-shadow:0 10px 28px rgba(23,55,104,.08)!important}
  .auth-card-pro .auth-heading-pro,.auth-heading-v3{grid-template-columns:40px minmax(0,1fr)!important;gap:10px!important;margin-bottom:17px!important}
  .auth-heading-icon{width:40px!important;height:40px!important;border-radius:11px!important}
  .auth-heading-v3 h1,.auth-card-pro .auth-heading-pro h1{font-size:23px!important;line-height:1.15!important;letter-spacing:-.5px!important}
  .auth-heading-v3>div>p:last-child,.auth-card-pro .auth-heading-pro p{font-size:11.2px!important;line-height:1.5!important}
  .auth-overline{font-size:8.2px!important;letter-spacing:.095em!important}
  .auth-alert-v3{margin-bottom:12px!important;padding:10px 11px!important;font-size:10.5px!important;line-height:1.45!important}
  .auth-form-v3{gap:12px!important}
  .auth-field label{font-size:11px!important;margin-bottom:6px!important}
  .field-control input,.auth-form-v3 input{font-size:16px!important;min-height:48px!important}
  .field-control{min-width:0}
  .password-toggle{width:42px!important;height:42px!important}
  .auth-submit-v3{min-height:50px!important;font-size:11.5px!important;border-radius:11px!important;touch-action:manipulation}
  .inline-action,.auth-text-link,.resend-link,.reset-change-email{touch-action:manipulation}
  .signup-progress{overflow:hidden}
  .otp-action-row{grid-template-columns:1fr!important}
  .otp-action-row .inline-action{width:100%!important;min-height:46px!important}
  .otp-control input,.reset-otp-control input{font-size:20px!important;letter-spacing:6px!important;padding-left:44px!important;padding-right:10px!important}
  .reset-back-top{min-height:36px;margin:0 0 12px!important;font-size:10.5px!important}
  .reset-heading{align-items:start!important}
  .reset-steps{grid-template-columns:28px minmax(18px,1fr) 28px minmax(18px,1fr) 28px!important;margin:0 2px 18px!important}
  .reset-steps span{width:28px!important;height:28px!important;font-size:10px!important}
  .reset-code-card{padding:12px!important;border-radius:12px!important;gap:11px!important}
  .reset-code-destination{grid-template-columns:36px minmax(0,1fr)!important;padding-bottom:10px!important}
  .reset-code-destination>span{width:36px!important;height:36px!important}
  .reset-code-destination strong{font-size:11px!important}.reset-code-destination small{font-size:9.4px!important}
  .reset-inline-status{font-size:9.5px!important;padding:8px 9px!important}
  .reset-code-actions{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:6px!important}
  .reset-code-actions .resend-timer{text-align:center;min-width:0!important}
  .reset-change-email{margin-left:0!important;text-align:right!important}
  .reset-verified-strip{grid-template-columns:32px minmax(0,1fr)!important;padding:9px 10px!important}
  .reset-verified-strip>span{width:32px!important;height:32px!important}
  .password-live-box{padding:11px!important}
  .password-live-rules{grid-template-columns:1fr!important}
  .reset-success-icon{width:58px!important;height:58px!important;font-size:25px!important}.reset-success-card h2{font-size:20px!important}
}
@media(max-width:390px){
  .auth-panel-v3,.auth-panel-pro{padding-inline:7px!important}
  .auth-card-v3,.auth-card-pro{padding:17px 12px 20px!important;border-radius:14px!important}
  .auth-heading-v3 h1,.auth-card-pro .auth-heading-pro h1{font-size:21.5px!important}
  .auth-heading-v3>div>p:last-child,.auth-card-pro .auth-heading-pro p{font-size:10.8px!important}
  .reset-code-actions{grid-template-columns:1fr 1fr!important}.reset-code-actions .resend-timer{grid-column:1/-1;grid-row:2;text-align:left}.reset-change-email{text-align:right!important}
  .reset-otp-control input{letter-spacing:4px!important}
}

@media(max-width:700px){
  .modal-backdrop{padding:10px!important;overscroll-behavior:contain}
  .modal-backdrop:has(.profile-settings-modal),.modal-backdrop:has(.password-settings-modal){padding:0!important}
  .password-settings-modal,.security-otp-modal{max-height:94dvh!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}
  .password-settings-modal .modal-field input,.security-otp-row input{font-size:16px!important;min-height:48px!important}
  .security-otp-box{border-radius:12px!important;padding:11px!important;gap:9px!important}
  .security-otp-row{grid-template-columns:1fr!important}
  .security-otp-row button,.security-otp-send{min-height:46px!important;width:100%!important}
  .security-otp-meta{display:grid!important;grid-template-columns:1fr auto!important;gap:7px!important}
  .security-otp-meta span{grid-column:1/-1!important;flex:none!important}
  .security-otp-meta button{min-height:32px!important;text-align:left!important}
  .password-settings-modal .modal-actions{grid-template-columns:1fr!important}
  .password-settings-modal .modal-button{min-height:46px!important}
}

@media(max-width:620px){
  /* Keep the initial dashboard loading card perfectly centered on phones.
     A previous mobile rule forced align-items:flex-start, which pushed it to the top. */
  .session-gate{
    display:grid!important;
    place-items:center!important;
    min-height:100dvh!important;
    padding:max(14px,env(safe-area-inset-top)) 14px max(14px,env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
  }
  .session-gate-card.dashboard-loading-card{
    margin:auto!important;
    align-self:center!important;
    justify-self:center!important;
  }
}

/* Emergency Face Login */
.emergency-login-block{margin-top:16px}.emergency-login-separator{display:flex;align-items:center;gap:10px;color:#93a0b2;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:2px 0 12px}.emergency-login-separator:before,.emergency-login-separator:after{content:"";height:1px;background:#e1e7f0;flex:1}.emergency-face-login{width:100%;border:1px solid #cfe0f8;background:linear-gradient(180deg,#f9fcff,#f3f8ff);border-radius:12px;min-height:62px;padding:10px 12px;display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:10px;text-align:left;color:#19324f;cursor:pointer;transition:.16s ease}.emergency-face-login:hover:not(:disabled){border-color:#91b8ef;box-shadow:0 8px 20px rgba(31,104,205,.09);transform:translateY(-1px)}.emergency-face-login:disabled{opacity:.58;cursor:wait;transform:none}.emergency-face-icon{width:38px;height:38px;border-radius:11px;background:#e7f1ff;color:#1768ef;display:grid;place-items:center}.emergency-face-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.emergency-face-login strong{display:block;font-size:11.6px}.emergency-face-copy{min-width:0}.emergency-face-login small{display:block;font-size:9.3px;line-height:1.4;color:#71829a;margin-top:2px;white-space:normal;overflow-wrap:anywhere}.emergency-face-arrow{font-size:17px;color:#1768ef;text-align:center}

.face-security-card{border:1px solid #dfe7f2;border-radius:13px;padding:14px;background:linear-gradient(180deg,#fbfdff,#f7faff);display:grid;gap:12px;margin-top:12px}.face-security-head{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center}.face-security-icon{width:40px;height:40px;border-radius:12px;background:#e8f2ff;color:#1768ef;display:grid;place-items:center}.face-security-icon svg{width:21px;height:21px}.face-security-head strong{font-size:12px;display:block}.face-security-head small{font-size:9.5px;color:#75839a;display:block;line-height:1.45;margin-top:2px}.face-status-pill{font-size:9px;font-weight:800;padding:5px 8px;border-radius:999px;background:#edf1f6;color:#69778d;white-space:nowrap}.face-status-pill.enabled{background:#e7f8ef;color:#12834a}.face-status-pill.warning{background:#fff4dd;color:#a86b09}.face-security-points{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.face-security-points span{border:1px solid #e5ebf4;background:#fff;border-radius:9px;padding:9px 7px;text-align:center;font-size:8.8px;color:#64758d;line-height:1.4}.face-security-points b{display:block;color:#243b59;font-size:9.5px;margin-bottom:2px}.face-manage-btn,.face-action-btn{border:0;border-radius:10px;min-height:40px;padding:0 13px;font-size:10.5px;font-weight:800;cursor:pointer}.face-manage-btn{background:#1768ef;color:#fff}.face-action-btn.primary{background:#1768ef;color:#fff}.face-action-btn.danger{background:#fff1f2;color:#c93746;border:1px solid #f2c9cd}.face-action-btn:disabled{opacity:.55;cursor:not-allowed}.face-consent{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid #dce7f5;border-radius:10px;background:#f8fbff;font-size:9.5px;line-height:1.55;color:#53657d}.face-consent input[type="checkbox"]{width:18px;height:18px;min-width:18px;min-height:18px;flex:0 0 18px;margin:1px 0 0;accent-color:#1768ef;cursor:pointer}.face-consent span{min-width:0}.face-privacy-note{padding:11px 12px;border-radius:10px;background:#f7f9fc;border:1px solid #e6ebf2;font-size:9.3px;color:#6f7c90;line-height:1.6}.face-settings-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.face-settings-state{display:flex;gap:10px;align-items:center;border:1px solid #dfe8f2;border-radius:11px;padding:12px;background:#fbfdff}.face-settings-state>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7f8ef;color:#168d50}.face-settings-state svg{width:17px;height:17px}.face-settings-state strong{font-size:11px;display:block}.face-settings-state small{font-size:9.3px;color:#748299;display:block;margin-top:2px}.security-center-modal{width:min(520px,100%)}
@media(max-width:560px){.face-security-head{grid-template-columns:38px minmax(0,1fr)}.face-status-pill{grid-column:2;justify-self:start}.face-security-points{grid-template-columns:1fr}.emergency-face-login{min-height:62px;padding:10px 11px;grid-template-columns:36px minmax(0,1fr) 18px;gap:9px}.emergency-face-icon{width:36px;height:36px}.emergency-face-login strong{font-size:11.2px}.emergency-face-login small{font-size:9px;line-height:1.35}.security-center-modal{width:100%}.face-consent{gap:11px;padding:12px}.face-consent input[type="checkbox"]{width:22px;height:22px;min-width:22px;min-height:22px;flex-basis:22px;margin-top:0}}
@media(max-width:360px){.emergency-face-login{padding:9px 10px;grid-template-columns:34px minmax(0,1fr) 16px;gap:8px}.emergency-face-icon{width:34px;height:34px}.emergency-face-login strong{font-size:10.8px}.emergency-face-login small{font-size:8.5px}.emergency-face-arrow{font-size:15px}}

/* V4: Full-screen Security Center workspace */
.security-center-backdrop{
  padding:0!important;
  place-items:stretch!important;
  background:#f4f7fb!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.security-center-fullscreen{
  width:100vw!important;
  max-width:none!important;
  height:100dvh!important;
  max-height:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:34px clamp(22px,4vw,64px) 28px!important;
  background:linear-gradient(180deg,#f8fbff 0,#f4f7fb 210px,#f4f7fb 100%)!important;
  overflow:auto!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.security-center-fullscreen .modal-close{
  position:fixed!important;
  z-index:4;
  right:clamp(18px,3vw,42px)!important;
  top:20px!important;
  width:42px;height:42px;
  border:1px solid #dce5f0;
  background:rgba(255,255,255,.92);
  box-shadow:0 8px 22px rgba(26,48,83,.08);
}
.security-center-fullscreen>.modal-icon,
.security-center-fullscreen>h2,
.security-center-fullscreen>p,
.security-center-fullscreen>#modalBody,
.security-center-fullscreen>.modal-actions{
  width:min(1160px,100%);
  margin-left:auto;
  margin-right:auto;
}
.security-center-fullscreen>.modal-icon{
  width:54px;height:54px;border-radius:16px;margin-bottom:16px;
  background:#e7f1ff;color:#1768ef;
}
.security-center-fullscreen>.modal-icon svg{width:27px;height:27px}
.security-center-fullscreen>h2{
  font-size:clamp(26px,3vw,34px)!important;
  line-height:1.15;
  margin-bottom:8px!important;
  padding-right:62px;
  color:#172a43;
  letter-spacing:-.025em;
}
.security-center-fullscreen>p{
  font-size:13px!important;
  line-height:1.65!important;
  color:#687a92!important;
  margin-bottom:24px!important;
  max-width:1160px!important;
}
.security-center-fullscreen>#modalBody{display:block}
.security-workspace{display:grid;gap:18px;padding-bottom:6px}
.security-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.security-overview-card{
  min-width:0;
  border:1px solid #e0e7f0;
  background:#fff;
  border-radius:16px;
  padding:15px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:11px;
  align-items:center;
  box-shadow:0 8px 25px rgba(20,45,80,.035);
}
.security-overview-card.good{border-color:#d7ede1;background:linear-gradient(180deg,#fff,#fbfffc)}
.security-overview-icon{width:42px;height:42px;border-radius:13px;background:#eaf2ff;color:#1768ef;display:grid;place-items:center;flex:none}
.security-overview-icon svg{width:20px;height:20px}
.security-overview-card.good .security-overview-icon{background:#e7f8ef;color:#168d50}
.security-overview-card small,.security-storage-copy small{display:block;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#8190a5}
.security-overview-card strong,.security-storage-copy strong{display:block;font-size:15px;color:#213752;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-overview-card p,.security-storage-copy p{font-size:9.5px;line-height:1.45;color:#748399;margin:3px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-workspace-section{
  border:1px solid #dfe7f1;
  background:#fff;
  border-radius:18px;
  padding:18px;
  box-shadow:0 10px 30px rgba(22,48,83,.035);
}
.security-section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.security-section-heading>div>span{display:block;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#1768ef;margin-bottom:4px}
.security-section-heading h3{font-size:17px;line-height:1.25;color:#203550;margin:0}
.security-section-heading p{font-size:10px;line-height:1.55;color:#75849a;margin:5px 0 0;max-width:720px}
.security-limit-badge{flex:none;border:1px solid #cfe0fb;background:#f2f7ff;color:#1768ef;border-radius:999px;padding:7px 10px;font-size:9px;white-space:nowrap}
.security-face-section .face-security-card{margin-top:0;padding:16px;border-radius:14px;background:linear-gradient(180deg,#fbfdff,#f7faff)}
.security-face-section .face-security-points{gap:9px}
.security-face-section .face-security-points span{padding:11px 9px}
.security-face-section .face-manage-btn{min-height:44px;font-size:11px}
.security-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.security-detail-grid>.security-workspace-section{height:100%}
.security-list-clean{gap:9px}
.security-list-clean .security-check{background:#fbfcfe;border-radius:12px;padding:13px}
.security-storage-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:24px;align-items:center}
.security-storage-copy{display:flex;gap:12px;align-items:center;min-width:0}
.security-storage-progress{height:9px;border-radius:999px;background:#e8eef6;overflow:hidden}
.security-storage-progress span{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#1768ef,#4c8df4);transition:width .3s ease}
.security-center-fullscreen>.modal-actions{
  margin-top:20px!important;
  padding-top:16px;
  border-top:1px solid #dfe6ef;
}
.security-center-fullscreen>.modal-actions .modal-button{min-height:44px;padding:0 17px}

@media(max-width:980px){
  .security-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .security-detail-grid{grid-template-columns:1fr}
}

@media(max-width:620px){
  .security-center-backdrop{background:#f5f7fb!important}
  .security-center-fullscreen{
    padding:18px 14px 92px!important;
    background:linear-gradient(180deg,#f8fbff 0,#f5f7fb 180px,#f5f7fb 100%)!important;
  }
  .security-center-fullscreen .modal-close{
    top:10px!important;right:10px!important;width:40px;height:40px;
  }
  .security-center-fullscreen>.modal-icon{width:46px;height:46px;border-radius:14px;margin-top:4px;margin-bottom:12px}
  .security-center-fullscreen>.modal-icon svg{width:23px;height:23px}
  .security-center-fullscreen>h2{font-size:25px!important;padding-right:44px;margin-bottom:6px!important}
  .security-center-fullscreen>p{font-size:11.5px!important;margin-bottom:17px!important;padding-right:8px}
  .security-workspace{gap:12px}
  .security-overview-grid{grid-template-columns:1fr 1fr;gap:8px}
  .security-overview-card{grid-template-columns:36px minmax(0,1fr);padding:11px 10px;border-radius:13px;gap:8px}
  .security-overview-icon{width:36px;height:36px;border-radius:11px}
  .security-overview-icon svg{width:18px;height:18px}
  .security-overview-card small{font-size:7.7px;letter-spacing:.04em}
  .security-overview-card strong{font-size:12px}
  .security-overview-card p{font-size:8px}
  .security-workspace-section{padding:13px;border-radius:14px}
  .security-section-heading{display:grid;gap:8px;margin-bottom:11px}
  .security-section-heading h3{font-size:15px}
  .security-section-heading p{font-size:9.2px}
  .security-limit-badge{justify-self:start;padding:6px 9px}
  .security-face-section .face-security-card{padding:12px}
  .security-face-section .face-security-points{grid-template-columns:1fr}
  .security-list-clean .security-check{padding:11px}
  .security-storage-strip{grid-template-columns:1fr;gap:12px}
  .security-storage-copy .security-overview-icon{width:38px;height:38px}
  .security-storage-copy strong{font-size:13px}
  .security-center-fullscreen>.modal-actions{
    position:fixed;
    left:0;right:0;bottom:0;
    width:100%!important;
    margin:0!important;
    padding:10px 12px max(10px,env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-top:1px solid #dce4ee;
    display:grid!important;
    grid-template-columns:.8fr 1.2fr;
    gap:8px;
    z-index:5;
  }
  .security-center-fullscreen>.modal-actions .modal-button{width:100%;min-height:46px;padding:0 10px;font-size:10.5px}
}

@media(max-width:390px){
  .security-overview-grid{grid-template-columns:1fr}
  .security-overview-card{grid-template-columns:38px minmax(0,1fr)}
}

/* V5: Security Center — clear Activity Log-style visual system */
.security-center-backdrop{background:#f6f8fb!important}
.security-center-fullscreen{
  background:#f6f8fb!important;
  padding:26px clamp(18px,3.4vw,52px) 26px!important;
}
.security-center-fullscreen .modal-close{
  background:#fff!important;
  border:1px solid #e1e7ef!important;
  box-shadow:0 5px 16px rgba(29,49,78,.06)!important;
}
.security-center-fullscreen>.modal-icon{
  width:44px!important;height:44px!important;border-radius:12px!important;
  margin:0 0 10px!important;background:#eaf2ff!important;color:#1768ef!important;
}
.security-center-fullscreen>.modal-icon svg{width:22px!important;height:22px!important}
.security-center-fullscreen>h2{
  font-size:27px!important;line-height:1.2!important;margin:0 0 5px!important;
  color:#1d304a!important;letter-spacing:-.02em!important;
}
.security-center-fullscreen>p{
  margin:0 0 18px!important;font-size:11.5px!important;line-height:1.55!important;
  color:#748199!important;
}
.security-workspace-v5{gap:14px!important}
.security-workspace-v5 .security-panel-card{
  overflow:hidden;
  border:1px solid #e2e8f1;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 21px rgba(22,49,92,.05);
}
.security-panel-heading{
  min-height:62px;
  padding:13px 18px;
  border-bottom:1px solid #edf1f5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.security-panel-heading h2{font-size:15.5px;line-height:1.3;color:#233851;margin:0;letter-spacing:-.15px}
.security-panel-heading p{font-size:9.8px;line-height:1.5;color:#7b889b;margin:3px 0 0;max-width:700px}
.security-panel-body{padding:14px 18px 17px}
.security-overall-pill{
  display:inline-flex;align-items:center;gap:6px;flex:none;
  border:1px solid #cfe9da;background:#edf9f2;color:#15834b;
  border-radius:999px;padding:6px 10px;font-size:9px;font-weight:800;
}
.security-overall-pill svg{width:13px;height:13px}
.security-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 18px}
.security-summary-item{
  min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;
  padding:15px 14px;border-right:1px solid #edf1f5;
}
.security-summary-item:first-child{padding-left:0}
.security-summary-item:last-child{border-right:0;padding-right:0}
.security-summary-icon{
  width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  background:#eaf2ff;color:#1c6bf0;flex:none;
}
.security-summary-icon svg{width:17px;height:17px}
.security-summary-item.good .security-summary-icon{background:#e6f7ed;color:#16a153}
.security-summary-item small{display:block;font-size:8.2px;font-weight:700;color:#7d8a9d;text-transform:uppercase;letter-spacing:.045em}
.security-summary-item strong{display:block;font-size:13px;color:#263b56;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-summary-item p{font-size:8.7px;color:#7a879a;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-limit-badge{border-color:#dbe7f8!important;background:#f5f8fd!important;color:#45698f!important;padding:6px 9px!important;font-size:8.7px!important}
.security-workspace-v5 .security-face-section .face-security-card{
  margin:0!important;border:1px solid #e7ecf3!important;border-radius:12px!important;
  background:#fbfcfe!important;box-shadow:none!important;padding:13px!important;
}
.security-workspace-v5 .security-face-section .face-security-points span{background:#fff!important;border-color:#e8edf3!important}
.security-workspace-v5 .security-detail-grid{gap:14px!important}
.security-workspace-v5 .security-list-clean{padding:0!important;gap:0!important}
.security-workspace-v5 .security-list-clean .security-check{
  border:0!important;border-radius:0!important;background:#fff!important;
  padding:13px 0!important;border-bottom:1px solid #edf1f5!important;
}
.security-workspace-v5 .security-list-clean .security-check:first-child{padding-top:0!important}
.security-workspace-v5 .security-list-clean .security-check:last-child{padding-bottom:0!important;border-bottom:0!important}
.security-workspace-v5 .security-list-clean .security-check>span{width:35px;height:35px;border-radius:50%;background:#eaf2ff;color:#1c6bf0}
.security-workspace-v5 .security-list-clean .security-check strong{font-size:11.5px;color:#2b3d55}
.security-workspace-v5 .security-list-clean .security-check small{font-size:9.4px;line-height:1.5;color:#77859a}
.security-storage-number{font-size:12px;color:#355b86;white-space:nowrap}
.security-workspace-v5 .security-storage-strip{padding:14px 18px 17px!important;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr)!important;gap:24px!important}
.security-workspace-v5 .security-storage-copy{gap:10px}
.security-workspace-v5 .security-storage-copy small{font-size:8.3px}
.security-workspace-v5 .security-storage-copy strong{font-size:13px}
.security-workspace-v5 .security-storage-copy p{font-size:9px}
.security-workspace-v5 .security-storage-progress{height:8px;background:#edf1f6}
.security-center-fullscreen>.modal-actions{
  width:min(1160px,100%)!important;margin:14px auto 0!important;padding:13px 0 0!important;
  border-top:1px solid #e0e6ee!important;
}

@media(max-width:980px){
  .security-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .security-summary-item{border-right:0;border-bottom:1px solid #edf1f5;padding:13px 0}
  .security-summary-item:nth-child(odd){padding-right:14px;border-right:1px solid #edf1f5}
  .security-summary-item:nth-child(even){padding-left:14px}
  .security-summary-item:nth-last-child(-n+2){border-bottom:0}
}

@media(max-width:620px){
  .security-center-fullscreen{padding:14px 12px 88px!important}
  .security-center-fullscreen>.modal-icon{width:40px!important;height:40px!important;border-radius:11px!important;margin-top:1px!important}
  .security-center-fullscreen>h2{font-size:23px!important;padding-right:48px!important}
  .security-center-fullscreen>p{font-size:10.7px!important;margin-bottom:13px!important}
  .security-workspace-v5{gap:10px!important}
  .security-workspace-v5 .security-panel-card{border-radius:13px}
  .security-panel-heading{min-height:0;padding:12px 13px;align-items:flex-start}
  .security-panel-heading h2{font-size:14px}
  .security-panel-heading p{font-size:8.8px;line-height:1.45}
  .security-panel-body{padding:12px 13px 14px}
  .security-overall-pill{font-size:8px;padding:5px 8px}
  .security-summary-grid{grid-template-columns:1fr;padding:0 13px}
  .security-summary-item,.security-summary-item:nth-child(odd),.security-summary-item:nth-child(even){
    border-right:0;padding:11px 0;border-bottom:1px solid #edf1f5;
    grid-template-columns:34px minmax(0,1fr);gap:9px;
  }
  .security-summary-item:nth-last-child(-n+2){border-bottom:1px solid #edf1f5}
  .security-summary-item:last-child{border-bottom:0}
  .security-summary-icon{width:33px;height:33px}
  .security-summary-item small{font-size:7.6px}
  .security-summary-item strong{font-size:11.5px}
  .security-summary-item p{font-size:8.2px}
  .security-limit-badge{font-size:8px!important;padding:5px 8px!important;align-self:center}
  .security-workspace-v5 .security-face-section .face-security-card{padding:11px!important}
  .security-workspace-v5 .security-list-clean .security-check{padding:11px 0!important}
  .security-workspace-v5 .security-list-clean .security-check:first-child{padding-top:0!important}
  .security-workspace-v5 .security-list-clean .security-check:last-child{padding-bottom:0!important}
  .security-workspace-v5 .security-storage-strip{grid-template-columns:1fr!important;padding:12px 13px 14px!important;gap:12px!important}
  .security-storage-number{font-size:10.5px}
}

@media(max-width:380px){
  .security-panel-heading{display:grid;gap:7px}
  .security-limit-badge,.security-overall-pill{justify-self:start}
}

/* V8: Security Center — clean dashboard-style layout inspired by the Activity view */
.security-center-v8{
  background:#f7f9fc!important;
  padding:24px clamp(18px,3.2vw,48px) 34px!important;
}
.security-center-v8>.modal-icon{display:none!important}
.security-center-v8>h2{
  width:min(1180px,100%)!important;
  font-size:25px!important;
  font-weight:850!important;
  color:#17263b!important;
  margin:0 auto 4px!important;
  letter-spacing:-.025em!important;
}
.security-center-v8>p{
  width:min(1180px,100%)!important;
  margin:0 auto 18px!important;
  color:#6e7e95!important;
  font-size:11px!important;
}
.security-center-v8>#modalBody{width:min(1180px,100%)!important}
.security-center-v8>.modal-actions{display:none!important}
.security-center-v8 .modal-close{
  top:18px!important;
  right:clamp(16px,2.8vw,38px)!important;
  width:40px!important;
  height:40px!important;
  border-radius:12px!important;
  background:#fff!important;
  border:1px solid #dfe6ef!important;
  box-shadow:0 5px 14px rgba(28,45,72,.06)!important;
}
.security-workspace-v8{display:grid;gap:16px!important;padding-bottom:4px!important}

.security-hero-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.security-hero-card{
  min-width:0;
  min-height:102px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:16px;
  border:1px solid #e1e7ef;
  border-radius:13px;
  background:#fff;
  box-shadow:0 4px 16px rgba(26,47,80,.035);
}
.security-hero-icon{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:none;
  border:1px solid transparent;
}
.security-hero-icon svg{width:22px;height:22px}
.security-hero-icon.blue{background:#edf4ff;color:#1768ef;border-color:#dce9ff}
.security-hero-icon.green{background:#e9f8ef;color:#16a153;border-color:#d9f0e2}
.security-hero-icon.purple{background:#f3edff;color:#8346ef;border-color:#e7dbff}
.security-hero-icon.amber{background:#fff5e7;color:#ef9419;border-color:#f9e5c5}
.security-hero-card small{display:block;font-size:8.7px;color:#6f7f96;font-weight:700;margin-bottom:3px}
.security-hero-card strong{display:block;font-size:16px;line-height:1.15;color:#20334e;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-hero-card p{font-size:9px;line-height:1.45;color:#8290a3;margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-hero-card.is-good strong{color:#129254}
.security-hero-card.is-warning strong{color:#31445f}

.security-main-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);gap:16px;align-items:stretch}
.security-bottom-grid{display:grid;grid-template-columns:1.08fr .9fr .92fr;gap:16px;align-items:stretch}
.security-v8-card{
  min-width:0;
  overflow:hidden;
  border:1px solid #e1e7ef;
  border-radius:13px;
  background:#fff;
  box-shadow:0 4px 16px rgba(26,47,80,.035);
}
.security-v8-heading{
  min-height:56px;
  padding:14px 16px 12px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid #edf1f5;
}
.security-v8-heading h3{margin:0;font-size:14px;line-height:1.3;color:#17263b;font-weight:850;letter-spacing:-.015em}
.security-v8-heading p{margin:4px 0 0;font-size:8.9px;line-height:1.45;color:#8290a3}
.security-heading-icon{width:30px;height:30px;border-radius:9px;background:#f4f7fb;color:#6680a3;display:grid;place-items:center;flex:none}
.security-heading-icon svg{width:15px;height:15px}
.security-text-button{border:0;background:transparent;color:#1768ef;font-size:9px;font-weight:850;cursor:pointer;padding:4px 0;white-space:nowrap}
.security-v8-body{padding:14px 16px 16px}

.security-control-list{padding:0 16px}
.security-control-row{
  min-height:59px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
  border-bottom:1px solid #edf1f5;
}
.security-control-row:last-child{border-bottom:0}
.security-control-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center}
.security-control-icon svg{width:15px;height:15px}
.security-control-icon.blue{background:#edf4ff;color:#1768ef}
.security-control-icon.green{background:#eaf8ef;color:#14a05a}
.security-control-icon.purple{background:#f4edff;color:#8749ef}
.security-control-icon.amber{background:#fff3e3;color:#ec8c12}
.security-control-row>div{min-width:0}
.security-control-row strong{display:block;font-size:10.2px;color:#253950;font-weight:800}
.security-control-row small{display:block;font-size:8.4px;line-height:1.42;color:#7d8ba0;margin-top:2px;white-space:normal}
.security-state-pill{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:5px 8px;border-radius:999px;font-size:7.8px;font-weight:850;border:1px solid #e2e8ef;background:#f6f8fb;color:#6b7b90;white-space:nowrap}
.security-state-pill.good{background:#edf9f2;border-color:#d4eddf;color:#159052}
.security-state-pill.warn{background:#fff7e9;border-color:#f6e4c3;color:#b87516}
.security-row-button{min-height:30px;padding:0 10px;border-radius:8px;border:1px solid #d9e3ef;background:#fff;color:#315172;font-size:8.2px;font-weight:850;cursor:pointer;white-space:nowrap}
.security-row-button:hover{background:#f6f9fd;border-color:#c9d8e9}
.security-row-button.primary{background:#1768ef;border-color:#1768ef;color:#fff}
.security-row-button:disabled{opacity:.55;cursor:wait}

.security-activity-list{padding:4px 16px 8px}
.security-activity-row{
  min-height:54px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 22px;
  align-items:center;
  gap:10px;
  border-bottom:1px solid #edf1f5;
}
.security-activity-row:last-child{border-bottom:0}
.security-activity-icon{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#eaf8ef;color:#15975a}
.security-activity-icon svg{width:13px;height:13px}
.security-activity-icon.activity-share{background:#eef4ff;color:#1768ef}
.security-activity-icon.activity-delete{background:#fff0f1;color:#d54b58}
.security-activity-icon.activity-download{background:#f2efff;color:#7c50d9}
.security-activity-copy{min-width:0}
.security-activity-copy strong{display:block;font-size:9.4px;line-height:1.35;color:#2c405a;font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-activity-copy small{display:block;font-size:8px;color:#8895a8;margin-top:2px}
.security-activity-ok{width:20px;height:20px;border-radius:50%;background:#e9f8ef;color:#15975a;display:grid;place-items:center}
.security-activity-ok svg{width:10px;height:10px}
.security-activity-empty{display:flex;align-items:center;gap:10px;padding:22px 4px}
.security-activity-empty>span{width:34px;height:34px;border-radius:50%;background:#edf4ff;color:#1768ef;display:grid;place-items:center}
.security-activity-empty svg{width:16px;height:16px}
.security-activity-empty strong{display:block;font-size:9.6px;color:#31465f}
.security-activity-empty small{display:block;font-size:8.2px;line-height:1.45;color:#8290a3;margin-top:2px}

.security-workspace-v8 .face-security-card{margin:0!important;padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important;border-radius:0!important}
.security-workspace-v8 .face-security-head{padding:0 0 12px!important;border-bottom:1px solid #edf1f5}
.security-workspace-v8 .face-security-icon{width:34px;height:34px;border-radius:10px}
.security-workspace-v8 .face-security-head strong{font-size:10.5px!important}
.security-workspace-v8 .face-security-head small{font-size:8.4px!important;line-height:1.45!important}
.security-workspace-v8 .face-status-pill{font-size:7.7px!important;padding:5px 8px!important}
.security-workspace-v8 .face-security-points{grid-template-columns:1fr!important;gap:0!important;margin:0!important}
.security-workspace-v8 .face-security-points span{padding:9px 0!important;border:0!important;border-bottom:1px solid #edf1f5!important;border-radius:0!important;background:#fff!important;font-size:8.2px!important}
.security-workspace-v8 .face-security-points span:last-child{border-bottom:0!important}
.security-workspace-v8 .face-security-points b{font-size:8.8px!important;margin-bottom:1px!important}
.security-workspace-v8 .face-manage-btn{width:100%;margin-top:10px;min-height:36px!important;border-radius:9px!important;font-size:9px!important}
.security-attempt-note{display:flex;align-items:center;gap:8px;margin-top:10px;padding:9px 10px;border-radius:9px;background:#f6f9fd;color:#6c7d93;font-size:7.9px;line-height:1.45}
.security-attempt-note svg{width:14px;height:14px;color:#1768ef;flex:none}
.security-attempt-note b{color:#355578}

.security-storage-mini{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:8px}
.security-storage-mini strong{display:block;font-size:10.5px;color:#2b415d}
.security-storage-mini small{display:block;font-size:8.1px;color:#8492a5;margin-top:2px}
.security-storage-mini b{font-size:9px;color:#1768ef}
.security-workspace-v8 .security-storage-progress{height:6px!important;background:#edf1f6!important;margin-bottom:12px}
.security-workspace-v8 .security-storage-progress span{background:#1768ef!important}







.security-action-arrow{width:12px;height:12px;color:#9ba8b8;transform:rotate(-90deg)}

.security-score-layout{display:grid;grid-template-columns:112px minmax(0,1fr);gap:15px;align-items:center}
.security-score-ring{
  --security-score:80%;
  width:106px;height:106px;border-radius:50%;
  display:grid;place-items:center;
  background:conic-gradient(#16a05a var(--security-score),#e8eef3 0);
  position:relative;
}
.security-score-ring:before{content:"";position:absolute;inset:10px;border-radius:50%;background:#fff}
.security-score-ring>div{position:relative;z-index:1;text-align:center}
.security-score-ring strong{display:block;font-size:18px;line-height:1;color:#1f3b52}
.security-score-ring small{display:block;font-size:7.6px;color:#13a05a;margin-top:5px;font-weight:800}
.security-score-list{display:grid;gap:7px}
.security-score-list>div{display:grid;grid-template-columns:16px minmax(0,1fr);gap:6px;align-items:center;font-size:7.9px;line-height:1.35;color:#7f8ca0}
.security-score-list>div>span:first-child{width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#f1f4f7;color:#9aa7b7}
.security-score-list>div>span:first-child svg{width:8px;height:8px}
.security-score-list>div.good{color:#4c6b5b}
.security-score-list>div.good>span:first-child{background:#e8f8ef;color:#15975a}

@media(max-width:980px){
  .security-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .security-main-grid{grid-template-columns:1fr}
  .security-bottom-grid{grid-template-columns:1fr 1fr}
  .security-score-card{grid-column:1/-1}
  .security-score-layout{grid-template-columns:120px minmax(0,1fr);max-width:520px}
}

@media(max-width:620px){
  .security-center-v8{padding:16px 11px 28px!important}
  .security-center-v8 .modal-close{position:fixed!important;top:10px!important;right:10px!important;width:38px!important;height:38px!important}
  .security-center-v8>h2{font-size:22px!important;padding-right:48px!important;margin-top:2px!important}
  .security-center-v8>p{font-size:9.7px!important;line-height:1.5!important;margin-bottom:13px!important;padding-right:24px}
  .security-workspace-v8{gap:10px!important}
  .security-hero-grid{grid-template-columns:1fr 1fr;gap:8px}
  .security-hero-card{min-height:86px;grid-template-columns:38px minmax(0,1fr);gap:8px;padding:11px 9px;border-radius:11px}
  .security-hero-icon{width:36px;height:36px}
  .security-hero-icon svg{width:18px;height:18px}
  .security-hero-card small{font-size:7.2px}
  .security-hero-card strong{font-size:11.5px}
  .security-hero-card p{font-size:7.4px;margin-top:3px}
  .security-main-grid,.security-bottom-grid{grid-template-columns:1fr;gap:10px}
  .security-score-card{grid-column:auto}
  .security-v8-card{border-radius:11px;box-shadow:0 3px 12px rgba(26,47,80,.03)}
  .security-v8-heading{min-height:0;padding:11px 12px 10px}
  .security-v8-heading h3{font-size:12.2px}
  .security-v8-heading p{font-size:7.8px;margin-top:3px}
  .security-heading-icon{width:27px;height:27px;border-radius:8px}
  .security-text-button{font-size:8px}
  .security-control-list{padding:0 12px}
  .security-control-row{min-height:58px;grid-template-columns:31px minmax(0,1fr) auto;gap:8px;padding:6px 0}
  .security-control-row>.security-state-pill+.security-row-button{grid-column:2/-1;justify-self:start;margin-top:-2px}
  .security-control-icon{width:28px;height:28px}
  .security-control-row strong{font-size:9.2px}
  .security-control-row small{font-size:7.6px;line-height:1.35}
  .security-state-pill{min-width:50px;font-size:7px;padding:4px 7px}
  .security-row-button{min-height:28px;padding:0 8px;font-size:7.4px}
  .security-activity-list{padding:3px 12px 7px}
  .security-activity-row{min-height:49px;grid-template-columns:28px minmax(0,1fr) 19px;gap:8px}
  .security-activity-icon{width:26px;height:26px}
  .security-activity-copy strong{font-size:8.4px}
  .security-activity-copy small{font-size:7.3px}
  .security-v8-body{padding:11px 12px 13px}
  .security-score-layout{grid-template-columns:92px minmax(0,1fr);gap:11px;max-width:none}
  .security-score-ring{width:88px;height:88px}
  .security-score-ring:before{inset:8px}
  .security-score-ring strong{font-size:15px}
  .security-score-list{gap:5px}
  .security-score-list>div{font-size:7.2px;gap:5px}
  
  .security-workspace-v8 .face-security-head{grid-template-columns:32px minmax(0,1fr)!important}
  .security-workspace-v8 .face-status-pill{grid-column:2!important;justify-self:start!important}
}

@media(max-width:370px){
  .security-hero-grid{grid-template-columns:1fr}
  .security-hero-card{min-height:78px}
  .security-score-layout{grid-template-columns:1fr;justify-items:center}
  .security-score-list{width:100%}
}

/* V9: precise GPS login history + recent device session management */
.security-device-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.security-device-heading-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.security-device-heading-actions button{min-height:29px;padding:0 9px;border:1px solid #d9e3ef;border-radius:8px;background:#fff;color:#315172;font-size:7.9px;font-weight:850;cursor:pointer;white-space:nowrap}
.security-device-heading-actions button:hover{background:#f7faff}
.security-device-heading-actions button.danger{color:#c84853;border-color:#f0d7da;background:#fff8f8}
.security-device-heading-actions button:disabled{opacity:.55;cursor:wait}
.security-device-list{padding:0 16px 8px;max-height:392px;overflow:auto;overscroll-behavior:contain}
.security-device-list.history{max-height:430px}
.security-device-row{min-height:78px;display:grid;grid-template-columns:36px minmax(0,1fr) auto auto;gap:10px;align-items:center;border-bottom:1px solid #edf1f5;padding:9px 0}
.security-device-row:last-child{border-bottom:0}
.security-device-row.is-current{background:linear-gradient(90deg,rgba(23,104,239,.035),rgba(23,104,239,0));margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:9px}
.security-device-icon{width:34px;height:34px;border-radius:10px;background:#eef4ff;color:#1768ef;display:grid;place-items:center;flex:none}
.security-device-icon svg{width:16px;height:16px}
.security-device-copy{min-width:0}
.security-device-copy strong{display:block;font-size:9.6px;line-height:1.3;color:#2a3f59;font-weight:820;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-device-copy small{display:block;font-size:7.7px;color:#8592a5;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-device-copy>span{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:7.5px;color:#637994;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.security-device-copy>span svg{width:10px;height:10px;flex:none;color:#1768ef}
.security-device-meta{display:grid;justify-items:end;gap:4px;min-width:74px}
.security-device-meta small{font-size:7.2px;color:#8b98a9;white-space:nowrap}
.security-device-state{font-size:7px;font-weight:850;border-radius:999px;padding:4px 7px;border:1px solid #e0e6ed;background:#f4f6f8;color:#79889a;white-space:nowrap}
.security-device-state.good{background:#edf9f2;border-color:#d5eddf;color:#149153}
.security-device-state.muted{background:#f5f6f8;color:#8895a5}
.security-device-actions{display:grid;gap:5px;justify-items:end}
.security-device-actions button{min-height:27px;padding:0 8px;border:1px solid #dbe4ee;border-radius:7px;background:#fff;color:#315172;font-size:7.3px;font-weight:820;cursor:pointer;white-space:nowrap}
.security-device-actions button:hover{background:#f7faff}
.security-device-actions .security-device-logout{color:#c84853;border-color:#efd7da;background:#fff9f9}
.security-device-loading{padding:22px 4px;font-size:8.4px;color:#8391a5}
.security-device-empty,.security-device-setup{display:flex;align-items:flex-start;gap:10px;padding:20px 4px}
.security-device-empty>span,.security-device-setup>span{width:34px;height:34px;border-radius:10px;background:#eef4ff;color:#1768ef;display:grid;place-items:center;flex:none}
.security-device-empty svg,.security-device-setup svg{width:16px;height:16px}
.security-device-empty strong,.security-device-setup strong{display:block;font-size:9.4px;color:#31465f}
.security-device-empty small,.security-device-setup small{display:block;font-size:8px;line-height:1.5;color:#8190a4;margin-top:2px}
.security-device-setup{margin:10px 0;padding:13px;border:1px solid #e6eaf0;border-radius:10px;background:#fbfcfe}

.security-device-details-modal{width:min(720px,calc(100vw - 24px))!important}
.security-device-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:5px}
.security-device-detail-grid>div{border:1px solid #e3e9f0;border-radius:10px;padding:11px 12px;background:#fbfcfe;min-width:0}
.security-device-detail-grid small{display:block;font-size:7.6px;color:#8190a4;margin-bottom:3px;font-weight:750}
.security-device-detail-grid strong{display:block;font-size:9.6px;color:#2c415b;line-height:1.35;overflow-wrap:anywhere}
.security-device-detail-grid span{display:block;font-size:7.6px;color:#6c7f96;margin-top:4px;line-height:1.45}
.security-device-detail-wide{grid-column:1/-1}
.security-device-detail-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.security-device-detail-actions a,.security-device-detail-actions button{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid #dce5ef;border-radius:9px;background:#fff;color:#315172;font-size:8px;font-weight:850;text-decoration:none;cursor:pointer}
.security-device-detail-actions svg{width:14px;height:14px}
.security-device-detail-actions .danger{color:#c84853;border-color:#efd6da;background:#fff9f9}
.security-device-detail-actions button:disabled{opacity:.55;cursor:wait}
.security-device-privacy-note{display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 11px;border-radius:9px;background:#f6f9fd;color:#6e7f94;font-size:7.7px;line-height:1.5}
.security-device-privacy-note svg{width:14px;height:14px;color:#1768ef;flex:none;margin-top:1px}

@media(max-width:980px){
  .security-device-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .security-device-grid{gap:10px}
  .security-device-heading-actions{justify-content:flex-start;margin-top:5px;width:100%}
  .security-device-heading-actions button{font-size:7px;min-height:27px;padding:0 7px}
  .security-device-list{padding:0 11px 6px;max-height:none}
  .security-device-list.history{max-height:none}
  .security-device-row{grid-template-columns:31px minmax(0,1fr) auto;gap:7px;min-height:74px;padding:8px 0}
  .security-device-icon{width:29px;height:29px;border-radius:8px}
  .security-device-icon svg{width:14px;height:14px}
  .security-device-copy strong{font-size:8.7px}
  .security-device-copy small{font-size:7px}
  .security-device-copy>span{font-size:6.8px;max-width:100%}
  .security-device-meta{min-width:58px}
  .security-device-meta small{font-size:6.5px}
  .security-device-state{font-size:6.3px;padding:3px 6px}
  .security-device-actions{grid-column:2/-1;display:flex;justify-content:flex-start;gap:6px;margin-top:-1px}
  .security-device-actions button{min-height:26px;font-size:6.8px;padding:0 7px}
  .security-device-detail-grid{grid-template-columns:1fr;gap:7px}
  .security-device-detail-wide{grid-column:auto}
  .security-device-detail-actions{display:grid;grid-template-columns:1fr;gap:7px}
  .security-device-detail-actions a,.security-device-detail-actions button{width:100%;justify-content:center;min-height:39px;font-size:7.6px}
}
.login-gps-security-note{display:flex;align-items:flex-start;gap:7px;margin:9px 2px 0;color:#77869a;font-size:10px;line-height:1.45}
.login-gps-security-note>span:first-child{width:20px;height:20px;border-radius:7px;background:#eef4ff;color:#1768ef;display:grid;place-items:center;font-size:12px;flex:none}
.login-gps-security-note b{color:#4a617d}
@media(max-width:620px){.login-gps-security-note{font-size:9px;line-height:1.45;margin-top:8px}}


/* V11: Security Center as a native dashboard page (not a fullscreen modal) */
.security-page-view{width:100%;min-width:0}
.security-page-view #securityPageContent{width:100%}
.security-page-view .security-workspace-v8{width:100%;max-width:none;margin:0;gap:16px}
.security-page-view .security-v8-card,.security-page-view .security-hero-card{box-shadow:0 4px 16px rgba(26,47,80,.035)}
@media(max-width:620px){
  .security-page-view .security-workspace-v8{gap:10px!important}
}


/* =========================================================
   V12: Expanded public home + professional liveness branding
   Content/UI only — existing application logic unchanged.
   ========================================================= */
.home-security-showcase{margin:0 max(var(--gutter),calc((100vw - var(--content))/2 + 28px)) 34px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:26px;align-items:stretch;padding:30px;border:1px solid #dbe7f8;border-radius:20px;background:linear-gradient(135deg,#f9fbff,#eef5ff);box-shadow:0 12px 34px rgba(22,69,140,.07)}
.home-security-copy{padding:8px 4px;align-self:center}.home-security-copy h2{font-size:clamp(28px,2.7vw,42px);line-height:1.12;letter-spacing:-1.2px;margin:10px 0 14px;max-width:780px}.home-security-copy>p{margin:0;max-width:820px;color:var(--muted);font-size:15px;line-height:1.7}.home-security-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:21px}.home-security-badges span{padding:8px 11px;border:1px solid #d6e4f8;border-radius:999px;background:#fff;color:#315070;font-size:11px;font-weight:700}
.home-security-panel{padding:20px;border:1px solid #d7e4f5;border-radius:16px;background:#fff;box-shadow:0 12px 30px rgba(23,58,112,.08);display:grid;gap:10px}.security-brand-chip{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:12px;border-radius:12px;background:linear-gradient(135deg,#0d2d5d,#1458a9);color:#fff}.security-brand-chip>span{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:rgba(255,255,255,.11);font-size:18px}.security-brand-chip strong,.security-brand-chip small{display:block}.security-brand-chip strong{font-size:12.5px}.security-brand-chip small{font-size:9px;color:#d4e5ff;margin-top:2px;letter-spacing:.02em}.security-check-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:start;padding:11px 4px;border-bottom:1px solid #edf2f8}.security-check-row>span{width:31px;height:31px;border-radius:9px;background:#edf4ff;color:#1768ef;display:grid;place-items:center;font-size:9px;font-weight:850}.security-check-row strong{display:block;color:#20334e;font-size:11px}.security-check-row small{display:block;color:#718098;font-size:9.5px;line-height:1.5;margin-top:2px}.security-brand-note{margin:2px 0 0!important;font-size:8.8px!important;line-height:1.55!important;color:#8391a5!important}
.features{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.feature-card{height:100%}
.face-brand-line{display:inline-flex;margin-top:6px;padding:4px 7px;border-radius:999px;background:#eaf2ff;color:#1768ef;font-size:8px;font-weight:800;letter-spacing:.025em}
.sfl-security-brand{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:7px}.sfl-security-brand>span{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;background:#eaf2ff;color:#1768ef;font-size:9px}.sfl-security-brand>b{font-size:9px;color:#1768ef;letter-spacing:.04em;text-transform:uppercase}.sfl-security-brand>small{font-size:7.5px;color:#7e8da2;border-left:1px solid #dce5f0;padding-left:7px}
.dark .home-security-showcase{background:linear-gradient(135deg,#0c1728,#0e1d31);border-color:#20334e}.dark .home-security-panel{background:#0d1829;border-color:#23354e}.dark .home-security-copy h2,.dark .security-check-row strong{color:#edf5ff}.dark .home-security-badges span{background:#101e31;border-color:#263b57;color:#c7d7ee}.dark .security-check-row{border-color:#1d2d42}
@media(max-width:1180px){.features{grid-template-columns:repeat(2,minmax(0,1fr))}.home-security-showcase{grid-template-columns:1fr minmax(330px,.8fr)}}
@media(max-width:860px){.home-security-showcase{grid-template-columns:1fr;margin-left:20px;margin-right:20px;padding:22px}.home-security-panel{max-width:none}.home-security-copy h2{font-size:31px}}
@media(max-width:700px){.home-security-showcase{margin:0 20px 28px;padding:17px;border-radius:16px;gap:16px}.home-security-copy{padding:0}.home-security-copy h2{font-size:26px;margin-top:8px}.home-security-copy>p{font-size:13.5px;line-height:1.65}.home-security-badges{margin-top:16px;gap:6px}.home-security-badges span{font-size:9.5px;padding:7px 9px}.home-security-panel{padding:13px;border-radius:13px}.security-brand-chip{grid-template-columns:36px minmax(0,1fr);padding:10px}.security-brand-chip>span{width:36px;height:36px}.security-check-row{grid-template-columns:32px minmax(0,1fr);padding:9px 2px}.security-check-row>span{width:28px;height:28px}.features{grid-template-columns:1fr}.sfl-security-brand>small{width:100%;border-left:0;padding-left:26px;margin-top:-3px}}
@media(max-width:420px){.home-security-showcase{margin-left:16px;margin-right:16px;padding:14px}.home-security-copy h2{font-size:23px}.security-brand-chip strong{font-size:11.5px}.security-check-row small{font-size:9px}.home-security-badges span{width:100%;text-align:left}}

.emergency-security-brand{margin:8px 0 0;display:flex;align-items:center;justify-content:center;gap:7px;color:#59708e}.emergency-security-brand>span{width:22px;height:22px;border-radius:7px;background:#eaf2ff;color:#1768ef;display:grid;place-items:center;font-size:9px}.emergency-security-brand strong,.emergency-security-brand small{display:block;text-align:left}.emergency-security-brand strong{font-size:8.8px;line-height:1.25;color:#315170;letter-spacing:.03em}.emergency-security-brand small{font-size:7.3px;line-height:1.3;color:#8795a9;margin-top:1px}.dark .emergency-security-brand>span{background:#122642}.dark .emergency-security-brand strong{color:#c9d8ed}@media(max-width:480px){.emergency-security-brand{justify-content:flex-start;padding-left:2px}}

/* V13 — 30-day trusted-device email verification */
.login-device-otp{margin-top:14px;padding:16px;border:1px solid #d9e7fb;border-radius:16px;background:linear-gradient(180deg,#f8fbff,#fff);box-shadow:0 8px 22px rgba(31,88,170,.06)}
.login-device-otp-head{display:flex;align-items:center;gap:11px;margin-bottom:13px}.login-device-otp-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#eaf3ff;color:#1768ef;flex:0 0 auto}.login-device-otp-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.login-device-otp-head strong{display:block;color:#10203a;font-size:13px}.login-device-otp-head small{display:block;color:#718099;font-size:10.5px;line-height:1.45;margin-top:2px}.login-device-otp-field{margin:0!important}.login-device-otp .otp-control input{letter-spacing:.28em;font-weight:800;font-size:16px;text-align:center}.login-device-otp-meta{margin-top:8px}.login-device-otp-cancel{margin-top:10px;padding:0;border:0;background:transparent;color:#55708f;font-size:10.5px;font-weight:700;cursor:pointer}.login-device-otp-cancel:hover{color:#1768ef}.trusted-device-note{display:flex;gap:8px;align-items:flex-start;margin-top:13px;padding:10px 11px;border-radius:12px;background:#f4fbf7;border:1px solid #d8eee1;color:#486257;font-size:10.4px;line-height:1.55}.trusted-device-note>span:first-child{width:18px;height:18px;border-radius:50%;background:#dff4e7;color:#16844b;display:grid;place-items:center;font-weight:900;flex:0 0 auto;margin-top:1px}.trusted-device-note b{color:#1d5137}.login-device-otp[hidden]{display:none!important}
@media (max-width:600px){.login-device-otp{padding:13px;border-radius:14px}.login-device-otp-head{gap:9px}.login-device-otp-icon{width:34px;height:34px}.login-device-otp-head strong{font-size:12px}.login-device-otp-head small{font-size:9.8px}.trusted-device-note{font-size:9.8px;padding:9px 10px}.login-device-otp .otp-control input{font-size:15px}}


/* Login OTP step v14: show verification as a clean second screen after Login */
body.login-otp-mode #loginView > .auth-heading-pro,
body.login-otp-mode #loginView > .emergency-login-block,
body.login-otp-mode #loginView > .auth-switch-line{display:none!important}
body.login-otp-mode #loginForm > .auth-field,
body.login-otp-mode #loginForm > .auth-options-row{display:none!important}
body.login-otp-mode #loginForm{display:grid!important;gap:14px!important}
body.login-otp-mode #loginOtpSection{display:block!important;grid-row:1;margin-top:0!important;animation:loginOtpStepIn .22s ease-out both}
body.login-otp-mode #loginSubmit{grid-row:2;margin-top:0}
body.login-otp-mode .auth-card-pro{max-width:560px}
body.login-otp-mode .auth-alert-v3{margin-bottom:12px}
@keyframes loginOtpStepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:620px){
  body.login-otp-mode .auth-card-pro{width:100%;max-width:none}
  body.login-otp-mode #loginForm{gap:12px!important}
  body.login-otp-mode #loginOtpSection{padding:14px!important;border-radius:15px!important}
}


/* =========================================================
   V15: Security management layout + device/session pagination
   UI/pagination only — existing authentication/session logic unchanged.
   ========================================================= */
.security-page-view .security-workspace-v8{max-width:1400px;margin:0 auto;gap:18px!important;padding-bottom:18px!important}
.security-manage-bar{position:sticky;top:8px;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px 11px 14px;border:1px solid #dfe7f1;border-radius:13px;background:rgba(255,255,255,.94);box-shadow:0 7px 24px rgba(32,55,88,.07);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.security-manage-title{display:flex;align-items:center;gap:9px;min-width:0}.security-manage-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#edf4ff;color:#1768ef;flex:none}.security-manage-icon svg{width:15px;height:15px}.security-manage-title strong{display:block;color:#233a55;font-size:10px;font-weight:850}.security-manage-title small{display:block;color:#8190a4;font-size:7.7px;line-height:1.35;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}
.security-manage-links{display:flex;align-items:center;gap:5px;flex:none}.security-manage-links button{min-height:30px;padding:0 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:#647891;font-size:7.8px;font-weight:850;cursor:pointer}.security-manage-links button:hover{background:#f3f7fd;border-color:#dce6f2;color:#1768ef}
.security-group-block{display:grid;gap:10px;scroll-margin-top:76px}.security-group-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:2px 2px 0;scroll-margin-top:76px}.security-group-heading>div{min-width:0}.security-group-heading span{display:block;color:#1768ef;font-size:6.9px;font-weight:900;letter-spacing:.12em;margin-bottom:3px}.security-group-heading h3{margin:0;color:#21364f;font-size:12.4px;line-height:1.3;font-weight:850;letter-spacing:-.01em}.security-group-heading p{margin:3px 0 0;color:#8592a4;font-size:7.9px;line-height:1.45}.security-group-count{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border:1px solid #dde6f0;border-radius:999px;background:#fff;color:#6f8197;font-size:7px;font-weight:850;white-space:nowrap}.security-group-heading-inline{padding-top:0}
#securityOverviewSection,#securityProtectionSection{scroll-margin-top:76px}
.security-device-grid{gap:14px}.security-devices-card,.security-login-history-card{display:flex;flex-direction:column;min-height:0}.security-device-list,.security-device-list.history{max-height:none;overflow:visible;flex:1;padding-bottom:2px}.security-device-row{min-height:76px}.security-pagination-host{margin-top:auto;border-top:1px solid #edf1f5}.security-pagination{min-height:45px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px}.security-pagination-summary{color:#8190a4;font-size:7.4px;font-weight:750;white-space:nowrap}.security-pagination-controls{display:flex;align-items:center;gap:6px}.security-pagination-controls>span{color:#71839a;font-size:7.3px;min-width:68px;text-align:center;white-space:nowrap}.security-pagination-controls>span b{color:#2c4766}.security-pagination-controls button{width:28px;height:28px;border:1px solid #dae4ef;border-radius:8px;background:#fff;color:#315172;font-size:17px;line-height:1;display:grid;place-items:center;cursor:pointer}.security-pagination-controls button:hover:not(:disabled){background:#f2f7fd;border-color:#cddced;color:#1768ef}.security-pagination-controls button:disabled{opacity:.38;cursor:not-allowed}
.security-v8-card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.security-v8-card:hover{border-color:#d8e2ed;box-shadow:0 7px 20px rgba(26,47,80,.05)}
.security-bottom-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) minmax(0,.9fr)}

@media(max-width:1100px){.security-manage-title small{max-width:340px}.security-bottom-grid{grid-template-columns:1fr 1fr}.security-score-card{grid-column:1/-1}.security-score-layout{max-width:600px}}
@media(max-width:820px){.security-manage-bar{position:relative;top:auto;display:block;padding:10px}.security-manage-title small{max-width:none}.security-manage-links{margin-top:9px;overflow-x:auto;padding-bottom:1px;scrollbar-width:none}.security-manage-links::-webkit-scrollbar{display:none}.security-manage-links button{flex:0 0 auto;background:#f7f9fc;border-color:#e8edf4}.security-group-heading,#securityOverviewSection,#securityProtectionSection,.security-group-block{scroll-margin-top:12px}}
@media(max-width:620px){.security-page-view .security-workspace-v8{gap:12px!important;padding-bottom:12px!important}.security-manage-bar{border-radius:11px;box-shadow:0 4px 14px rgba(32,55,88,.05)}.security-manage-title{align-items:flex-start}.security-manage-icon{width:29px;height:29px}.security-manage-title strong{font-size:9.2px}.security-manage-title small{font-size:7.1px;line-height:1.45}.security-manage-links{gap:5px}.security-manage-links button{min-height:29px;padding:0 9px;font-size:7.1px}.security-group-heading{align-items:flex-start;padding:0 1px}.security-group-heading h3{font-size:11.2px}.security-group-heading p{font-size:7.3px}.security-group-count{font-size:6.4px;min-height:24px;padding:0 7px}.security-device-grid{gap:10px}.security-device-list,.security-device-list.history{padding-left:11px;padding-right:11px}.security-device-row{min-height:72px}.security-pagination{min-height:48px;padding:8px 10px}.security-pagination-summary{font-size:6.7px}.security-pagination-controls{gap:4px}.security-pagination-controls>span{font-size:6.7px;min-width:61px}.security-pagination-controls button{width:30px;height:30px;border-radius:8px;font-size:17px}.security-bottom-grid{grid-template-columns:1fr}.security-score-card{grid-column:auto}.security-v8-card:hover{transform:none}}
@media(max-width:390px){.security-group-heading-inline{display:block}.security-group-count{margin-top:7px}.security-pagination{gap:5px}.security-pagination-summary{max-width:72px;overflow:hidden;text-overflow:ellipsis}.security-pagination-controls button{width:29px;height:29px}}

/* V15 mobile readability/touch refinements for Security Center */
@media(max-width:620px){
  .security-v8-heading{padding:13px 12px 11px}
  .security-v8-heading h3{font-size:13px!important;line-height:1.28}
  .security-v8-heading p{font-size:9.5px!important;line-height:1.45}
  .security-device-heading-actions{gap:6px}
  .security-device-heading-actions button{min-height:34px!important;padding:0 10px!important;font-size:9px!important;border-radius:9px}
  .security-device-row{grid-template-columns:36px minmax(0,1fr) auto;gap:8px;padding:10px 0;min-height:84px}
  .security-device-icon{width:34px;height:34px;border-radius:9px}
  .security-device-icon svg{width:16px;height:16px}
  .security-device-copy strong{font-size:10.8px!important}
  .security-device-copy small{font-size:9px!important;margin-top:3px}
  .security-device-copy>span{font-size:8.6px!important;margin-top:5px}
  .security-device-meta{min-width:66px;gap:5px}
  .security-device-meta small{font-size:8.1px!important}
  .security-device-state{font-size:8px!important;padding:4px 7px}
  .security-device-actions{gap:7px;margin-top:1px}
  .security-device-actions button{min-height:32px!important;padding:0 9px!important;font-size:8.8px!important;border-radius:8px}
  .security-pagination{min-height:54px}
  .security-pagination-summary{font-size:8.5px!important}
  .security-pagination-controls>span{font-size:8.4px!important;min-width:72px}
  .security-pagination-controls button{width:36px;height:36px;font-size:19px}
  .security-control-row{min-height:66px;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;padding:7px 0}
  .security-control-icon{width:32px;height:32px}
  .security-control-row strong{font-size:10.8px!important}
  .security-control-row small{font-size:9px!important;line-height:1.45}
  .security-state-pill{font-size:8.4px;padding:5px 8px}
  .security-row-button{min-height:34px;font-size:9px;padding:0 10px}
  .security-control-row>.security-state-pill+.security-row-button{grid-column:2/-1;margin:0 0 5px}
  .security-group-heading h3{font-size:12.8px!important}
  .security-group-heading p{font-size:9px!important;line-height:1.45}
  .security-group-heading span{font-size:7.8px}
  .security-group-count{font-size:8px;min-height:27px}
  .security-manage-title strong{font-size:10.5px}
  .security-manage-title small{font-size:8.8px}
  .security-manage-links button{min-height:34px;font-size:8.8px}
}

/* =========================================================
   V16: Clean Security Settings + Activity Log pagination
   ========================================================= */
.security-main-grid{grid-template-columns:1fr!important}
.security-settings-card{width:100%}
.security-settings-card .security-control-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;padding:4px 18px 12px}
.security-settings-card .security-control-row{border-bottom:1px solid #edf1f5;min-height:72px}
.security-settings-card .security-control-row:nth-last-child(-n+2){border-bottom:0}
.security-recovery-only{grid-template-columns:1fr!important}
.security-recovery-only .security-recovery-card{max-width:none}
.security-recovery-only .face-security-card{margin-top:0}

.activity-log-card{overflow:hidden;padding-bottom:0}
.activity-log-heading{height:auto;min-height:70px;align-items:center;padding-top:12px;padding-bottom:12px}
.activity-log-heading>div:first-child{min-width:0}
.activity-log-heading h2{margin:0}
.activity-log-heading p{margin:4px 0 0;color:#7d8ba0;font-size:10px;line-height:1.45}
.activity-log-heading-actions{display:flex;align-items:center;gap:10px;flex:none}
.activity-log-heading-actions>span{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid #e1e8f1;border-radius:999px;background:#f8fafc;color:#718198;font-size:8.5px;font-weight:800;white-space:nowrap}
.activity-log-pagination-host{border-top:1px solid #edf1f5;background:#fff}
.activity-log-pagination{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 18px}
.activity-log-pagination-summary{color:#7c8ca1;font-size:9px;font-weight:750;white-space:nowrap}
.activity-log-pagination-controls{display:flex;align-items:center;gap:7px}
.activity-log-pagination-controls>span{min-width:82px;text-align:center;color:#718198;font-size:9px;white-space:nowrap}
.activity-log-pagination-controls>span b{color:#2d4868}
.activity-log-pagination-controls button{width:34px;height:34px;border:1px solid #dbe4ee;border-radius:9px;background:#fff;color:#315171;font-size:19px;display:grid;place-items:center;cursor:pointer}
.activity-log-pagination-controls button:hover:not(:disabled){background:#f2f7fd;border-color:#cadbec;color:#1768ef}
.activity-log-pagination-controls button:disabled{opacity:.38;cursor:not-allowed}

@media(max-width:820px){
  .security-settings-card .security-control-list{grid-template-columns:1fr;padding:4px 14px 10px}
  .security-settings-card .security-control-row:nth-last-child(-n+2){border-bottom:1px solid #edf1f5}
  .security-settings-card .security-control-row:last-child{border-bottom:0}
}
@media(max-width:620px){
  .security-manage-links{display:grid;grid-template-columns:repeat(3,minmax(max-content,1fr));overflow:visible!important}
  .security-manage-links button{min-width:0;padding:0 7px!important;white-space:nowrap}
  .security-settings-card .security-control-list{padding:2px 12px 8px}
  .security-settings-card .security-control-row{min-height:78px!important;padding:9px 0!important}
  .security-settings-card .security-control-row small{font-size:9.2px!important;line-height:1.5!important}
  .security-recovery-only .security-v8-body{padding:12px!important}
  .activity-log-heading{align-items:flex-start!important}
  .activity-log-heading>div:first-child{width:100%}
  .activity-log-heading p{font-size:9.5px}
  .activity-log-heading-actions{width:100%;justify-content:space-between}
  .activity-log-heading-actions>span{min-height:32px;font-size:8.8px}
  .activity-log-card #clearActivityBtn{width:auto!important;min-height:36px!important;padding:0 12px}
  .activity-log-pagination{min-height:62px;padding:10px 12px;gap:8px}
  .activity-log-pagination-summary{font-size:8.6px}
  .activity-log-pagination-controls{gap:5px}
  .activity-log-pagination-controls>span{font-size:8.6px;min-width:72px}
  .activity-log-pagination-controls button{width:38px;height:38px;font-size:20px}
}
@media(max-width:390px){
  .security-manage-links{grid-template-columns:1fr 1fr}
  .security-manage-links button:last-child{grid-column:1/-1}
  .activity-log-pagination{align-items:flex-start;flex-direction:column}
  .activity-log-pagination-summary{width:100%}
  .activity-log-pagination-controls{width:100%;justify-content:space-between}
  .activity-log-pagination-controls>span{flex:1}
}

/* =========================================================
   V17: Full Security Center mobile optimization
   Mobile-first readability, touch targets, spacing and overflow safety.
   ========================================================= */
@media (max-width:900px){
  .security-page-view,
  .security-page-view #securityPageContent,
  .security-page-view .security-workspace-v8{min-width:0;max-width:100%;overflow-x:clip}
  .security-page-view .security-workspace-v8{gap:14px!important}
  .security-manage-bar{position:relative;top:auto}
  .security-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .security-device-grid{grid-template-columns:1fr;gap:12px}
}

@media (max-width:640px){
  /* overall page rhythm */
  .security-page-view{margin:0;padding:0}
  .security-page-view #securityPageContent{overflow:visible}
  .security-page-view .security-workspace-v8{gap:14px!important;padding:0 0 18px!important}

  /* top security management block */
  .security-manage-bar{
    display:grid!important;
    gap:12px;
    padding:13px!important;
    border-radius:14px!important;
    background:#fff;
    box-shadow:0 4px 16px rgba(32,55,88,.05)!important;
  }
  .security-manage-title{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start}
  .security-manage-icon{width:38px!important;height:38px!important;border-radius:11px!important}
  .security-manage-icon svg{width:18px;height:18px}
  .security-manage-title strong{font-size:13px!important;line-height:1.25;color:#20354f}
  .security-manage-title small{font-size:10.5px!important;line-height:1.5!important;margin-top:3px;color:#7b899c}
  .security-manage-links{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:7px!important;
    margin-top:0!important;
    overflow:visible!important;
    padding:0!important;
  }
  .security-manage-links button{
    min-width:0!important;
    min-height:40px!important;
    padding:7px 8px!important;
    border-radius:10px!important;
    font-size:9.5px!important;
    line-height:1.2;
    white-space:normal!important;
    text-align:center;
    overflow-wrap:anywhere;
  }

  /* overview cards */
  .security-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
  .security-hero-card{
    min-height:112px!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:9px!important;
    align-items:start!important;
    padding:12px!important;
    border-radius:13px!important;
  }
  .security-hero-icon{width:38px!important;height:38px!important}
  .security-hero-icon svg{width:18px!important;height:18px!important}
  .security-hero-card small{font-size:9.5px!important;line-height:1.25;margin:1px 0 4px!important}
  .security-hero-card strong{font-size:14px!important;line-height:1.2;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .security-hero-card p{
    font-size:9.5px!important;
    line-height:1.4!important;
    margin-top:5px!important;
    white-space:normal!important;
    overflow:visible!important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }

  /* section headings */
  .security-group-heading,
  .security-group-heading-inline{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:1px 1px 0!important;
  }
  .security-group-heading>div{min-width:0}
  .security-group-heading span{font-size:8.5px!important;line-height:1.2;margin-bottom:4px!important}
  .security-group-heading h3{font-size:15px!important;line-height:1.28!important}
  .security-group-heading p{font-size:10.5px!important;line-height:1.5!important;margin-top:4px!important}
  .security-group-count{
    flex:none;
    min-height:30px!important;
    max-width:42%;
    padding:5px 9px!important;
    font-size:8.5px!important;
    line-height:1.25;
    text-align:center;
    white-space:normal!important;
  }

  /* card shells and headings */
  .security-v8-card{border-radius:14px!important;overflow:hidden}
  .security-v8-heading{
    min-height:0!important;
    padding:14px 13px 12px!important;
    gap:10px!important;
    align-items:flex-start!important;
    flex-wrap:wrap;
  }
  .security-v8-heading>div:first-child{min-width:0;flex:1 1 190px}
  .security-v8-heading h3{font-size:15px!important;line-height:1.3!important}
  .security-v8-heading p{font-size:10.5px!important;line-height:1.5!important;margin-top:4px!important}
  .security-heading-icon{width:34px!important;height:34px!important;border-radius:10px!important}
  .security-heading-icon svg{width:16px!important;height:16px!important}
  .security-v8-body{padding:13px!important}

  /* security settings rows become true mobile cards */
  .security-settings-card .security-control-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:10px!important;
  }
  .security-settings-card .security-control-row,
  .security-settings-card .security-control-row:nth-last-child(-n+2){
    min-height:0!important;
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:9px 10px!important;
    align-items:start!important;
    padding:12px!important;
    margin:0!important;
    border:1px solid #e5ebf2!important;
    border-radius:12px!important;
    background:#fbfcfe!important;
  }
  .security-settings-card .security-control-row:last-child{border:1px solid #e5ebf2!important}
  .security-control-icon{width:40px!important;height:40px!important;border-radius:11px!important;grid-row:1/span 3}
  .security-control-icon svg{width:18px!important;height:18px!important}
  .security-control-row>div{grid-column:2;min-width:0;padding-top:1px}
  .security-control-row strong{font-size:12.5px!important;line-height:1.32!important}
  .security-control-row small{font-size:10.5px!important;line-height:1.5!important;margin-top:3px!important;overflow-wrap:anywhere}
  .security-state-pill{
    grid-column:2!important;
    justify-self:start!important;
    min-height:28px!important;
    min-width:0!important;
    width:max-content!important;
    max-width:100%;
    padding:5px 9px!important;
    font-size:9px!important;
    line-height:1.2;
  }
  .security-row-button,
  .security-control-row>.security-state-pill+.security-row-button{
    grid-column:2!important;
    justify-self:stretch!important;
    width:100%!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 12px!important;
    border-radius:10px!important;
    font-size:10.5px!important;
  }

  /* device and history card headings/actions */
  .security-device-heading-actions{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    margin-top:2px!important;
  }
  .security-device-heading-actions button{
    width:100%!important;
    min-height:42px!important;
    padding:0 8px!important;
    border-radius:10px!important;
    font-size:9.5px!important;
    white-space:normal!important;
    line-height:1.2;
  }

  /* each device/login entry is a touch-friendly card */
  .security-device-list,
  .security-device-list.history{
    display:grid;
    gap:8px;
    padding:10px!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .security-device-row,
  .security-device-row.is-current{
    min-height:0!important;
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:8px 10px!important;
    align-items:start!important;
    margin:0!important;
    padding:12px!important;
    border:1px solid #e5ebf2!important;
    border-radius:12px!important;
    background:#fff!important;
  }
  .security-device-row.is-current{background:linear-gradient(135deg,#f6f9ff,#fff)!important;border-color:#dbe7f8!important}
  .security-device-icon{width:42px!important;height:42px!important;border-radius:11px!important}
  .security-device-icon svg{width:19px!important;height:19px!important}
  .security-device-copy{grid-column:2;min-width:0}
  .security-device-copy strong{font-size:12px!important;line-height:1.35!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .security-device-copy small{font-size:9.8px!important;line-height:1.4!important;margin-top:3px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .security-device-copy>span{font-size:9.4px!important;line-height:1.4!important;margin-top:5px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}
  .security-device-copy>span svg{width:12px!important;height:12px!important;margin-top:1px}
  .security-device-meta{
    grid-column:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    min-width:0!important;
  }
  .security-device-meta small{font-size:9px!important;line-height:1.2!important}
  .security-device-state{font-size:8.8px!important;padding:5px 8px!important}
  .security-device-actions{
    grid-column:1/-1!important;
    display:flex!important;
    align-items:stretch!important;
    gap:7px!important;
    width:100%!important;
    margin:2px 0 0!important;
  }
  .security-device-actions button{
    flex:1 1 0!important;
    min-width:0!important;
    min-height:42px!important;
    padding:0 9px!important;
    border-radius:10px!important;
    font-size:9.8px!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
  .security-device-loading{font-size:10.5px!important;padding:18px 4px!important}
  .security-device-empty,.security-device-setup{padding:14px 5px!important;gap:10px!important}
  .security-device-empty>span,.security-device-setup>span{width:40px!important;height:40px!important}
  .security-device-empty strong,.security-device-setup strong{font-size:11.5px!important}
  .security-device-empty small,.security-device-setup small{font-size:10px!important;line-height:1.5!important}

  /* pagination */
  .security-pagination-host{margin-top:0!important}
  .security-pagination{
    min-height:62px!important;
    padding:9px 10px!important;
    gap:9px!important;
    flex-wrap:wrap!important;
  }
  .security-pagination-summary{font-size:9.5px!important;line-height:1.2!important}
  .security-pagination-controls{gap:7px!important;margin-left:auto}
  .security-pagination-controls>span{font-size:9.5px!important;min-width:82px!important}
  .security-pagination-controls button{
    width:42px!important;
    height:42px!important;
    border-radius:10px!important;
    font-size:22px!important;
  }

  /* emergency recovery */
  .security-recovery-only .security-v8-body{padding:13px!important}
  .security-workspace-v8 .face-security-head{
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:9px!important;
    padding-bottom:12px!important;
  }
  .security-workspace-v8 .face-security-icon{width:40px!important;height:40px!important;border-radius:11px!important}
  .security-workspace-v8 .face-security-head strong{font-size:12.5px!important;line-height:1.3!important}
  .security-workspace-v8 .face-security-head small{font-size:10.3px!important;line-height:1.5!important}
  .security-workspace-v8 .face-status-pill{grid-column:2!important;justify-self:start!important;font-size:9px!important;padding:5px 9px!important}
  .security-workspace-v8 .face-security-points span{padding:11px 0!important;font-size:10px!important;line-height:1.5!important;text-align:left!important}
  .security-workspace-v8 .face-security-points b{font-size:10.8px!important;margin-bottom:2px!important}
  .security-workspace-v8 .face-manage-btn{min-height:44px!important;margin-top:11px!important;border-radius:10px!important;font-size:10.5px!important}
  .security-attempt-note{align-items:flex-start!important;padding:11px!important;font-size:9.8px!important;line-height:1.5!important}
  .security-attempt-note svg{width:16px!important;height:16px!important;margin-top:1px}

  /* details modal on phones */
  .security-device-details-modal{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important}
  .security-device-detail-grid{grid-template-columns:1fr!important;gap:8px!important}
  .security-device-detail-grid>div{padding:11px!important}
  .security-device-detail-grid small{font-size:9px!important}
  .security-device-detail-grid strong{font-size:11px!important}
  .security-device-detail-grid span{font-size:9.2px!important;line-height:1.5!important}
  .security-device-detail-wide{grid-column:auto!important}
  .security-device-detail-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .security-device-detail-actions a,.security-device-detail-actions button{width:100%!important;justify-content:center!important;min-height:44px!important;font-size:10px!important}
  .security-device-privacy-note{font-size:9.5px!important;line-height:1.5!important;padding:11px!important}
}

@media (max-width:430px){
  .security-manage-links{grid-template-columns:1fr 1fr!important}
  .security-manage-links button:last-child{grid-column:1/-1}
  .security-hero-grid{grid-template-columns:1fr!important}
  .security-hero-card{min-height:88px!important;grid-template-columns:40px minmax(0,1fr)!important;align-items:center!important}
  .security-hero-card p{-webkit-line-clamp:2}
  .security-group-heading-inline{display:grid!important;grid-template-columns:1fr!important}
  .security-group-count{max-width:100%!important;justify-self:start!important}
  .security-device-heading-actions{grid-template-columns:1fr!important}
  .security-pagination{display:grid!important;grid-template-columns:1fr!important}
  .security-pagination-summary{width:100%!important}
  .security-pagination-controls{width:100%!important;margin-left:0!important;justify-content:space-between!important}
  .security-pagination-controls>span{flex:1!important}
}

@media (max-width:350px){
  .security-manage-title{grid-template-columns:34px minmax(0,1fr)}
  .security-manage-icon{width:34px!important;height:34px!important}
  .security-settings-card .security-control-row{grid-template-columns:36px minmax(0,1fr)!important;padding:10px!important}
  .security-control-icon{width:36px!important;height:36px!important}
  .security-device-row{grid-template-columns:38px minmax(0,1fr)!important;padding:10px!important}
  .security-device-icon{width:38px!important;height:38px!important}
}

/* =========================================================
   V18: Project-wide mobile hardening
   Password/Profile sheets, Activity Log, dashboard overflow and touch UX.
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
.dashboard-shell,.dashboard-content,.dashboard-main,.collection-view,.security-page-view{min-width:0;max-width:100%}

/* Keep long user/file/security text from forcing horizontal scroll. */
.dashboard-main *,
.dash-modal *,
.top-popover *{min-width:0}
.dashboard-main p,.dashboard-main small,.dashboard-main strong,.dash-modal p,.dash-modal small,.dash-modal strong{overflow-wrap:anywhere}

/* Password flow spacing stays predictable even when OTP expands. */
.password-settings-flow{display:grid;gap:0;min-width:0}
.password-settings-flow .security-otp-box{margin-bottom:2px}

@media (max-width:700px){
  /* Use the explicit backdrop classes added by dashboard.js instead of relying on :has(). */
  .profile-settings-backdrop,
  .password-settings-backdrop{
    place-items:end center!important;
    padding:0!important;
    overflow:hidden!important;
    background:rgba(11,25,47,.52)!important;
  }

  /* True mobile bottom sheets: fixed header/footer, scroll only the form body. */
  .profile-settings-modal,
  .password-settings-modal{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    max-height:min(96dvh,860px)!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-radius:20px 20px 0 0!important;
    padding:18px 15px 0!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .profile-settings-modal .modal-close,
  .password-settings-modal .modal-close{
    position:absolute!important;
    right:13px!important;
    top:13px!important;
    z-index:8!important;
    float:none!important;
    margin:0!important;
    width:40px!important;
    height:40px!important;
    background:#f5f8fc!important;
    border:1px solid #e1e9f3!important;
  }
  .profile-settings-modal .modal-icon,
  .password-settings-modal .modal-icon{
    flex:0 0 auto;
    width:40px!important;
    height:40px!important;
    margin:0 0 10px!important;
  }
  .profile-settings-modal h2,
  .password-settings-modal h2{
    flex:0 0 auto;
    margin:0 48px 5px 0!important;
    font-size:18px!important;
    line-height:1.25!important;
  }
  .profile-settings-modal>p,
  .password-settings-modal>p{
    flex:0 0 auto;
    margin:0 44px 11px 0!important;
    font-size:10.5px!important;
    line-height:1.5!important;
  }
  .profile-settings-modal #modalBody,
  .password-settings-modal #modalBody{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:2px 1px 14px!important;
    scrollbar-gutter:stable;
    overscroll-behavior:contain;
  }
  .profile-settings-modal .modal-actions,
  .password-settings-modal .modal-actions{
    position:static!important;
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:auto!important;
    margin:0 -15px!important;
    padding:11px 15px max(11px,env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.985)!important;
    border-top:1px solid #e7edf5!important;
    box-shadow:0 -8px 24px rgba(18,47,86,.05)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }
  .profile-settings-modal .modal-button,
  .password-settings-modal .modal-button{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    height:46px!important;
    padding:0 10px!important;
    font-size:11px!important;
    border-radius:11px!important;
  }

  /* Password change specifically: larger controls, no iOS zoom, clean one-column OTP. */
  .password-change-note{
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:9px!important;
    align-items:start!important;
    padding:11px!important;
    margin:1px 0 8px!important;
    border-radius:12px!important;
  }
  .password-change-note>svg{width:19px!important;height:19px!important;margin:2px auto 0!important}
  .password-change-note strong{font-size:11.5px!important;line-height:1.35!important}
  .password-change-note small{font-size:9.7px!important;line-height:1.5!important}
  .password-settings-modal .modal-field{margin:9px 0!important;gap:6px!important}
  .password-settings-modal .modal-field label{font-size:10.5px!important}
  .password-settings-modal .modal-field input{
    min-height:50px!important;
    font-size:16px!important;
    border-radius:11px!important;
    padding:10px 48px 10px 12px!important;
  }
  .password-settings-modal .modal-field-hint{font-size:9.4px!important;line-height:1.45!important}
  .password-settings-modal .modal-password-wrap button{
    right:5px!important;
    width:40px!important;
    height:40px!important;
    border-radius:9px!important;
  }
  .password-settings-modal .security-otp-box{
    margin-top:12px!important;
    padding:11px!important;
    gap:9px!important;
    border-radius:13px!important;
  }
  .password-settings-modal .security-otp-head{grid-template-columns:36px minmax(0,1fr)!important;gap:9px!important}
  .password-settings-modal .security-otp-head>span{width:36px!important;height:36px!important}
  .password-settings-modal .security-otp-head strong{font-size:11px!important}
  .password-settings-modal .security-otp-head small{font-size:9.5px!important;line-height:1.5!important}
  .password-settings-modal .security-otp-send,
  .password-settings-modal .security-otp-row button{
    width:100%!important;
    min-height:46px!important;
    border-radius:10px!important;
    font-size:10.5px!important;
  }
  .password-settings-modal .security-otp-row{grid-template-columns:1fr!important;gap:7px!important}
  .password-settings-modal .security-otp-row input{
    min-height:50px!important;
    padding:0 12px!important;
    font-size:18px!important;
    letter-spacing:6px!important;
    text-align:center!important;
  }
  .password-settings-modal .security-otp-meta{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    gap:6px 8px!important;
    align-items:center!important;
  }
  .password-settings-modal .security-otp-meta span{grid-column:1/-1!important;font-size:9.4px!important}
  .password-settings-modal .security-otp-meta button{min-height:34px!important;text-align:left!important}
  .password-settings-modal .security-otp-meta b{text-align:right!important}
  .password-settings-modal .security-otp-verified{min-height:42px!important;font-size:10px!important}

  /* Profile form: all editing controls remain easy to tap. */
  .profile-settings-modal .modal-field input{min-height:48px!important;font-size:16px!important}
  .profile-settings-modal .profile-inline-btn{min-height:42px!important}
  .profile-settings-modal .profile-security-card>button{min-height:44px!important}

  /* Activity Log: readable cards + finger-sized pagination on phones. */
  .activity-log-card{border-radius:14px!important}
  .activity-log-heading{padding:13px!important;gap:10px!important}
  .activity-log-heading h2{font-size:14px!important}
  .activity-log-heading p{font-size:10px!important;line-height:1.5!important}
  .activity-log-heading-actions{display:grid!important;grid-template-columns:auto 1fr!important;gap:8px!important;width:100%!important}
  .activity-log-heading-actions>span{min-height:38px!important;justify-content:center!important;font-size:9px!important}
  .activity-log-card #clearActivityBtn{width:100%!important;min-height:40px!important;justify-content:center!important;padding:0 10px!important}
  .activity-log-list{display:grid!important;gap:8px!important;padding:10px!important}
  .activity-log-list .activity-item{
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:10px!important;
    padding:11px!important;
    border:1px solid #e6edf5!important;
    border-radius:12px!important;
    background:#fff!important;
  }
  .activity-log-list .activity-item:last-child{border-bottom:1px solid #e6edf5!important}
  .activity-log-list .activity-icon{width:38px!important;height:38px!important}
  .activity-log-list .activity-item p{font-size:11px!important;line-height:1.5!important}
  .activity-log-list .activity-item small{font-size:9.5px!important}
  .activity-log-pagination{padding:10px!important;min-height:62px!important}
  .activity-log-pagination-controls button{width:42px!important;height:42px!important;border-radius:10px!important}
  .activity-log-pagination-controls>span{font-size:9px!important;min-width:78px!important}
  .activity-log-pagination-summary{font-size:9px!important}

  /* Project-wide mobile overflow/touch safety. */
  .collection-toolbar,.collection-actions,.card-heading,.dashboard-heading-row,.topbar-actions{min-width:0!important}
  .doc-row,.folder-card,.category-page-card,.share-link-row,.notification-item{max-width:100%!important}
  .share-link-actions button,.secondary-button,.text-link{touch-action:manipulation}
  .top-popover{max-width:calc(100vw - 20px)!important}
  .toast-stack{max-width:calc(100vw - 20px)!important}
}

@media (max-width:430px){
  .profile-settings-modal,
  .password-settings-modal{max-height:97dvh!important;padding-left:12px!important;padding-right:12px!important}
  .profile-settings-modal .modal-actions,
  .password-settings-modal .modal-actions{margin-left:-12px!important;margin-right:-12px!important;padding-left:12px!important;padding-right:12px!important}
  .password-settings-modal .security-otp-row input{letter-spacing:5px!important}
  .activity-log-pagination{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .activity-log-pagination-controls{width:100%!important;justify-content:space-between!important}
  .activity-log-pagination-controls>span{flex:1!important}
}

@media (max-width:370px){
  .profile-settings-modal .modal-actions,
  .password-settings-modal .modal-actions{grid-template-columns:1fr!important}
  .password-settings-modal .modal-actions .primary{order:-1}
  .password-settings-modal .security-otp-meta{grid-template-columns:1fr!important}
  .password-settings-modal .security-otp-meta span,
  .password-settings-modal .security-otp-meta button,
  .password-settings-modal .security-otp-meta b{grid-column:1!important;text-align:left!important}
  .activity-log-heading-actions{grid-template-columns:1fr!important}
}

/* ==========================================================================\n   V19 — PAGE-BASED WORKFLOWS (NO DASHBOARD POPUP WINDOWS)\n   All former .dash-modal flows are rendered as normal dashboard sub-pages.\n   ========================================================================== */
#modalBackdrop.dashboard-action-page{
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:26px 26px 44px!important;
  margin:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  overflow:visible!important;
  overscroll-behavior:auto!important;
  place-items:initial!important;
}
#modalBackdrop.dashboard-action-page[hidden]{display:none!important}
#modalBackdrop.dashboard-action-page .dash-modal.dashboard-page-panel{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  display:block!important;
  width:min(920px,100%)!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 auto!important;
  padding:0!important;
  overflow:visible!important;
  border:1px solid #e1e9f3!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 12px 36px rgba(18,48,91,.08)!important;
}
#modalBackdrop.dashboard-action-page .dash-modal.preview-modal{width:min(1120px,100%)!important}
#modalBackdrop.dashboard-action-page .dash-modal.profile-settings-modal,
#modalBackdrop.dashboard-action-page .dash-modal.password-settings-modal,
#modalBackdrop.dashboard-action-page .dash-modal.protected-share-modal,
#modalBackdrop.dashboard-action-page .dash-modal.timed-share-modal,
#modalBackdrop.dashboard-action-page .dash-modal.security-device-details-modal,
#modalBackdrop.dashboard-action-page .dash-modal.security-otp-modal{
  width:min(860px,100%)!important;
  max-height:none!important;
  border-radius:18px!important;
  transform:none!important;
}
.dashboard-action-page-head{
  display:grid;
  gap:20px;
  padding:22px 26px 20px;
  border-bottom:1px solid #e8eef6;
  background:linear-gradient(180deg,#fbfdff 0%,#fff 100%);
  border-radius:18px 18px 0 0;
}
.dashboard-action-page-back{
  width:max-content;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid #dbe4ef;
  border-radius:10px;
  background:#fff;
  color:#53667f;
  padding:0 14px 0 11px;
  font:inherit;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  touch-action:manipulation;
}
.dashboard-action-page-back svg{width:16px;height:16px;transform:rotate(90deg)}
.dashboard-action-page-back:hover{border-color:#bcd0ec;background:#f7faff;color:#1768ef}
.dashboard-action-page-back:focus-visible{outline:3px solid rgba(23,104,239,.16);outline-offset:2px}
.dashboard-action-page-title-row{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  align-items:start;
  gap:15px;
  min-width:0;
}
#modalBackdrop.dashboard-action-page .modal-icon{
  position:static!important;
  width:52px!important;
  height:52px!important;
  margin:0!important;
  border-radius:14px!important;
  background:#eaf2ff!important;
  color:#1768ef!important;
  display:grid!important;
  place-items:center!important;
  flex:none!important;
}
#modalBackdrop.dashboard-action-page .modal-icon svg{width:23px!important;height:23px!important}
.dashboard-action-page-copy{min-width:0;display:grid;gap:5px}
.dashboard-action-page-kicker{
  width:max-content;
  max-width:100%;
  color:#1768ef;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1.2;
}
#modalBackdrop.dashboard-action-page .dash-modal h2{
  margin:0!important;
  padding:0!important;
  color:#122843!important;
  font-size:clamp(20px,2vw,25px)!important;
  line-height:1.2!important;
  letter-spacing:-.025em!important;
  overflow-wrap:anywhere;
}
#modalBackdrop.dashboard-action-page .dash-modal>p{display:none!important}
#modalBackdrop.dashboard-action-page #modalText{
  display:block!important;
  margin:0!important;
  color:#6b7b90!important;
  font-size:11.5px!important;
  line-height:1.6!important;
  overflow-wrap:anywhere;
}
#modalBackdrop.dashboard-action-page #modalText[hidden]{display:none!important}
.dashboard-action-page-body{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  overflow:visible!important;
  padding:26px!important;
  margin:0!important;
}
#modalBackdrop.dashboard-action-page .modal-field{display:grid!important;gap:7px!important;margin:0 0 16px!important;min-width:0!important}
#modalBackdrop.dashboard-action-page .modal-field:last-child{margin-bottom:0!important}
#modalBackdrop.dashboard-action-page .modal-field label{font-size:11px!important;font-weight:750!important;color:#34455e!important}
#modalBackdrop.dashboard-action-page .modal-field input,
#modalBackdrop.dashboard-action-page .modal-field textarea,
#modalBackdrop.dashboard-action-page .modal-field select{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:46px!important;
  height:auto!important;
  padding:10px 12px!important;
  border:1px solid #d7e1ee!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#1a2940!important;
  font-size:13px!important;
  line-height:1.4!important;
  box-shadow:none!important;
}
#modalBackdrop.dashboard-action-page .modal-field textarea{min-height:160px!important;resize:vertical!important}
#modalBackdrop.dashboard-action-page .modal-field input:focus,
#modalBackdrop.dashboard-action-page .modal-field textarea:focus,
#modalBackdrop.dashboard-action-page .modal-field select:focus{border-color:#6e9df1!important;box-shadow:0 0 0 3px rgba(33,104,243,.1)!important;outline:0!important}
#modalBackdrop.dashboard-action-page .modal-field-hint{font-size:10px!important;line-height:1.55!important;color:#7a889c!important}
.dashboard-action-page-actions,
#modalBackdrop.dashboard-action-page .modal-actions{
  position:sticky!important;
  bottom:0!important;
  z-index:5!important;
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:17px 26px calc(17px + env(safe-area-inset-bottom))!important;
  border-top:1px solid #e7edf5!important;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  border-radius:0 0 18px 18px!important;
}
#modalBackdrop.dashboard-action-page .modal-button{
  min-width:104px!important;
  min-height:44px!important;
  height:auto!important;
  border-radius:10px!important;
  padding:10px 16px!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  font-weight:800!important;
  white-space:normal!important;
  cursor:pointer!important;
  touch-action:manipulation;
}
#modalBackdrop.dashboard-action-page .modal-button.primary{border-color:#1768ef!important;background:#1768ef!important;color:#fff!important}
#modalBackdrop.dashboard-action-page .modal-button.danger{border-color:#df3d49!important;background:#df3d49!important;color:#fff!important}
#modalBackdrop.dashboard-action-page .modal-button:disabled{opacity:.64!important;cursor:wait!important}


#modalBackdrop.dashboard-action-page .security-list{gap:12px!important}
#modalBackdrop.dashboard-action-page .security-check{padding:15px!important;grid-template-columns:38px minmax(0,1fr)!important}
#modalBackdrop.dashboard-action-page .protected-share-link-row,
#modalBackdrop.dashboard-action-page .protected-share-password-wrap,
#modalBackdrop.dashboard-action-page .modal-password-wrap{min-width:0!important;max-width:100%!important}
#modalBackdrop.dashboard-action-page .profile-name-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
#modalBackdrop.dashboard-action-page .security-device-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
#modalBackdrop.dashboard-action-page .security-device-detail-actions{display:flex!important;flex-wrap:wrap!important;gap:9px!important}
.page-confirmation-note{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:13px;
  align-items:start;
  padding:15px;
  border:1px solid #e1e9f3;
  border-radius:12px;
  background:#f9fbfe;
}
.page-confirmation-note>span{width:44px;height:44px;border-radius:12px;background:#eef4ff;color:#1768ef;display:grid;place-items:center}
.page-confirmation-note>span svg{width:20px;height:20px}
.page-confirmation-note strong{display:block;color:#1c314c;font-size:12px;margin-bottom:4px}
.page-confirmation-note small{display:block;color:#6d7d92;font-size:10.5px;line-height:1.55}
body.dashboard-action-page-open .dashboard-topbar{position:sticky;top:0;z-index:40}

@media(max-width:760px){
  #modalBackdrop.dashboard-action-page{padding:0 0 30px!important}
  #modalBackdrop.dashboard-action-page .dash-modal.dashboard-page-panel,
  #modalBackdrop.dashboard-action-page .dash-modal.profile-settings-modal,
  #modalBackdrop.dashboard-action-page .dash-modal.password-settings-modal,
  #modalBackdrop.dashboard-action-page .dash-modal.protected-share-modal,
  #modalBackdrop.dashboard-action-page .dash-modal.timed-share-modal,
  #modalBackdrop.dashboard-action-page .dash-modal.security-device-details-modal,
  #modalBackdrop.dashboard-action-page .dash-modal.security-otp-modal,
  #modalBackdrop.dashboard-action-page .dash-modal.preview-modal{
    width:100%!important;
    max-width:100%!important;
    border-left:0!important;
    border-right:0!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .dashboard-action-page-head{gap:15px;padding:13px 14px 15px;border-radius:0!important}
  .dashboard-action-page-back{min-height:44px;padding-inline:10px 13px;font-size:11px}
  .dashboard-action-page-title-row{grid-template-columns:44px minmax(0,1fr);gap:11px}
  #modalBackdrop.dashboard-action-page .modal-icon{width:44px!important;height:44px!important;border-radius:12px!important}
  #modalBackdrop.dashboard-action-page .modal-icon svg{width:20px!important;height:20px!important}
  .dashboard-action-page-kicker{font-size:8px}
  #modalBackdrop.dashboard-action-page .dash-modal h2{font-size:19px!important}
  #modalBackdrop.dashboard-action-page #modalText{font-size:10.8px!important;line-height:1.5!important}
  .dashboard-action-page-body{padding:16px 14px 18px!important}
  #modalBackdrop.dashboard-action-page .modal-field{margin-bottom:13px!important;gap:6px!important}
  #modalBackdrop.dashboard-action-page .modal-field label{font-size:10.5px!important}
  #modalBackdrop.dashboard-action-page .modal-field input,
  #modalBackdrop.dashboard-action-page .modal-field textarea,
  #modalBackdrop.dashboard-action-page .modal-field select{font-size:16px!important;min-height:48px!important;border-radius:10px!important;padding:10px 11px!important}
  #modalBackdrop.dashboard-action-page .modal-field textarea{min-height:150px!important}
  #modalBackdrop.dashboard-action-page .profile-name-grid{grid-template-columns:1fr!important;gap:0!important}
  
  
  #modalBackdrop.dashboard-action-page .security-device-detail-grid{grid-template-columns:1fr!important}
  #modalBackdrop.dashboard-action-page .security-device-detail-wide{grid-column:auto!important}
  #modalBackdrop.dashboard-action-page .security-device-detail-actions{display:grid!important;grid-template-columns:1fr!important}
  #modalBackdrop.dashboard-action-page .security-device-detail-actions a,
  #modalBackdrop.dashboard-action-page .security-device-detail-actions button{width:100%!important;min-height:46px!important;justify-content:center!important}
  .dashboard-action-page-actions,
  #modalBackdrop.dashboard-action-page .modal-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    padding:11px 14px calc(11px + env(safe-area-inset-bottom))!important;
    border-radius:0!important;
  }
  #modalBackdrop.dashboard-action-page .modal-button{width:100%!important;min-width:0!important;min-height:46px!important;padding:10px 9px!important;font-size:11px!important}
  .page-confirmation-note{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:12px}
  .page-confirmation-note>span{width:40px;height:40px}
  body.dashboard-action-page-open .top-search{display:none!important}
}

@media(max-width:380px){
  .dashboard-action-page-head{padding-inline:11px}
  .dashboard-action-page-body{padding-inline:11px!important}
  .dashboard-action-page-actions,
  #modalBackdrop.dashboard-action-page .modal-actions{grid-template-columns:1fr!important;padding-inline:11px!important}
  #modalBackdrop.dashboard-action-page .modal-button{min-height:45px!important}
  .dashboard-action-page-title-row{grid-template-columns:40px minmax(0,1fr);gap:9px}
  #modalBackdrop.dashboard-action-page .modal-icon{width:40px!important;height:40px!important}
  #modalBackdrop.dashboard-action-page .dash-modal h2{font-size:17.5px!important}
  #modalBackdrop.dashboard-action-page #modalText{font-size:10.2px!important}
}

/* Login/Register agreement is also a normal page instead of a popup sheet. */
#userAgreementModal.agreement-backdrop{
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  display:block!important;
  width:100%!important;
  min-height:100svh!important;
  padding:28px!important;
  background:#f7faff!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  place-items:initial!important;
  overflow:visible!important;
}
#userAgreementModal.agreement-backdrop[hidden]{display:none!important}
#userAgreementModal .agreement-modal{
  width:min(980px,100%)!important;
  max-width:100%!important;
  max-height:none!important;
  min-height:0!important;
  margin:0 auto!important;
  display:block!important;
  overflow:visible!important;
  border:1px solid #e0e8f3!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 12px 36px rgba(18,48,91,.08)!important;
}
#userAgreementModal .agreement-modal-head{position:sticky;top:0;z-index:8;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:16px 18px!important;border-radius:18px 18px 0 0!important}
#userAgreementModal .agreement-close{font-size:0!important;width:auto!important;min-width:82px!important;height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0 14px!important}
#userAgreementModal .agreement-close::after{content:'Back';font-size:11px;font-weight:800}
#userAgreementModal .agreement-language-tabs{position:sticky;top:75px;z-index:7;padding:10px 18px!important}
#userAgreementModal .agreement-scroll{overflow:visible!important;max-height:none!important;padding:24px!important}
#userAgreementModal .agreement-copy{font-size:11.5px!important;line-height:1.76!important}
#userAgreementModal .agreement-copy h3{font-size:12.2px!important;margin-top:20px!important}
#userAgreementModal .agreement-modal-foot{position:sticky;bottom:0;z-index:8;padding:13px 18px calc(13px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:0 0 18px 18px!important}
body.agreement-open{overflow:auto!important}
body.agreement-open .auth-shell{display:none!important}

@media(max-width:620px){
  #userAgreementModal.agreement-backdrop{min-height:100svh!important;padding:0 0 24px!important;background:#fff!important}
  #userAgreementModal .agreement-modal{width:100%!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  #userAgreementModal .agreement-modal-head{padding:11px 12px!important;border-radius:0!important}
  #userAgreementModal .agreement-brand img{width:88px!important}
  #userAgreementModal .agreement-brand strong{font-size:10.5px!important}
  #userAgreementModal .agreement-language-tabs{top:64px;padding:8px 12px!important}
  #userAgreementModal .agreement-language-tabs button{min-height:40px!important;font-size:10.5px!important}
  #userAgreementModal .agreement-scroll{padding:16px 13px 20px!important}
  #userAgreementModal .agreement-copy{font-size:10.6px!important;line-height:1.7!important}
  #userAgreementModal .agreement-copy h3{font-size:11.3px!important}
  #userAgreementModal .agreement-modal-foot{display:grid!important;gap:8px!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;border-radius:0!important}
  #userAgreementModal .agreement-modal-foot p{text-align:left!important;font-size:8.8px!important}
  #userAgreementModal .agreement-accept{width:100%!important;min-height:46px!important;font-size:10.5px!important}
  #userAgreementModal .agreement-close{min-width:68px!important;height:40px!important}
}

/* Final specificity overrides for legacy V18 mobile modal rules. */
#modalBackdrop.dashboard-action-page .profile-settings-modal #modalBody,
#modalBackdrop.dashboard-action-page .password-settings-modal #modalBody{
  display:block!important;
  flex:none!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding:26px!important;
  scrollbar-gutter:auto!important;
  overscroll-behavior:auto!important;
}
@media(max-width:760px){
  #modalBackdrop.dashboard-action-page .profile-settings-modal #modalBody,
  #modalBackdrop.dashboard-action-page .password-settings-modal #modalBody{
    padding:16px 14px 18px!important;
    overflow:visible!important;
    max-height:none!important;
  }
}
@media(max-width:380px){
  #modalBackdrop.dashboard-action-page .profile-settings-modal #modalBody,
  #modalBackdrop.dashboard-action-page .password-settings-modal #modalBody{padding-inline:11px!important}
}


/* V26 Emergency Face Login 3-minute review */
.face-status-pill.pending{background:#eef4ff;color:#1768ef;border:1px solid #d3e2ff}
.face-status-pill.rejected{background:#fff0f1;color:#b42335;border:1px solid #f2c7cc}
.face-review-progress,.face-review-modal-state{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #d7e5fb;background:#f5f9ff;border-radius:11px;padding:11px 12px;color:#29435f}
.face-review-progress strong,.face-review-modal-state strong{display:block;font-size:10.5px;color:#17304f}
.face-review-progress small,.face-review-modal-state small{display:block;font-size:9px;line-height:1.5;color:#718099;margin-top:2px}
.face-review-progress>b,.face-review-modal-state>b{font-size:13px;color:#1768ef;font-variant-numeric:tabular-nums;white-space:nowrap}
.face-review-spinner{width:20px;height:20px;border-radius:50%;border:2px solid #cfdef6;border-top-color:#1768ef;animation:faceReviewSpin .8s linear infinite}
@keyframes faceReviewSpin{to{transform:rotate(360deg)}}
@media(max-width:560px){.face-review-progress,.face-review-modal-state{grid-template-columns:auto minmax(0,1fr);padding:11px}.face-review-progress>b,.face-review-modal-state>b{grid-column:2;font-size:12px}.face-review-progress small,.face-review-modal-state small{font-size:9.3px}}

/* V27 mandatory Face Login gate for document uploads */
@media(max-width:520px){.upload-face-gate-overlay{padding:12px;align-items:end}.upload-face-gate{width:100%;border-radius:20px 20px 15px 15px;padding:22px 16px max(16px,env(safe-area-inset-bottom))}.upload-face-gate h3{font-size:18px;margin-left:34px;margin-right:34px}.upload-face-gate>p{font-size:10.5px}.upload-face-gate-state{padding:11px}.upload-face-gate-actions{grid-template-columns:1fr}.upload-face-gate-actions button{min-height:46px;font-size:11px}.upload-face-primary{grid-row:1}.upload-face-secondary{grid-row:2}}


/* V42: lightweight Emergency Face Login processing state.
   Uses only transform/opacity animation (no backdrop-filter) so low-end phones stay smooth. */
.face-processing-overlay{position:fixed;inset:0;z-index:9990;display:grid;place-items:center;padding:18px;background:rgba(244,248,255,.965);overscroll-behavior:contain}
.face-processing-overlay[hidden]{display:none!important}
.face-processing-card{width:min(360px,100%);padding:27px 24px 23px;border:1px solid #dce7f5;border-radius:20px;background:#fff;text-align:center;box-shadow:0 18px 45px rgba(16,55,108,.14);contain:layout paint}
.face-processing-mark{position:relative;width:64px;height:64px;margin:0 auto 14px;display:grid;place-items:center;border-radius:20px;background:#eef5ff;color:#1768ef}
.face-processing-mark svg{position:relative;z-index:2;width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.face-processing-ring{position:absolute;inset:-5px;border:3px solid #dce9fb;border-top-color:#1768ef;border-right-color:#7eaff7;border-radius:50%;animation:faceProcessingSpin .9s linear infinite;will-change:transform}
.face-processing-brand{display:block;margin-bottom:7px;color:#1768ef;font-size:9px;font-weight:850;letter-spacing:.035em;text-transform:uppercase}
.face-processing-card>strong{display:block;color:#12233d;font-size:18px;line-height:1.3;letter-spacing:-.2px}
.face-processing-card>p{min-height:34px;margin:8px auto 0;max-width:300px;color:#66778e;font-size:11px;line-height:1.55}
.face-processing-progress{height:5px;margin:17px 0 11px;border-radius:999px;background:#eaf0f8;overflow:hidden}
.face-processing-progress>span{display:block;width:100%;height:100%;border-radius:inherit;background:#1768ef;transform:scaleX(.08);transform-origin:left center;transition:transform .38s ease;will-change:transform}
.face-processing-dots{height:13px;display:flex;align-items:center;justify-content:center;gap:5px;margin:1px 0 7px}
.face-processing-dots i{width:5px;height:5px;border-radius:50%;background:#83aef0;animation:faceProcessingDot 1.05s ease-in-out infinite;will-change:transform,opacity}
.face-processing-dots i:nth-child(2){animation-delay:.14s}.face-processing-dots i:nth-child(3){animation-delay:.28s}
.face-processing-card>small{display:block;color:#8a97a9;font-size:9.3px;line-height:1.45}
body.face-processing-open{overflow:hidden}
@keyframes faceProcessingSpin{to{transform:rotate(360deg)}}
@keyframes faceProcessingDot{0%,60%,100%{opacity:.38;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media(max-width:560px){.face-processing-overlay{padding:16px}.face-processing-card{width:min(335px,100%);padding:24px 20px 21px;border-radius:18px}.face-processing-mark{width:58px;height:58px;border-radius:18px;margin-bottom:13px}.face-processing-mark svg{width:26px;height:26px}.face-processing-card>strong{font-size:16px}.face-processing-card>p{font-size:10.5px}.face-processing-card>small{font-size:9px}}
@media(max-width:360px){.face-processing-card{padding:21px 17px 19px}.face-processing-mark{width:54px;height:54px}.face-processing-card>strong{font-size:15px}.face-processing-card>p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.face-processing-ring,.face-processing-dots i{animation:none}.face-processing-progress>span{transition:none}}

/* V43 Emergency Face Login: destructive file actions are visibly locked. */
.doc-action-menu button.emergency-delete-locked:disabled{opacity:.5;cursor:not-allowed;color:#9a6b72;background:#fff8f9}

/* V44 Emergency Face Login entry notice — bilingual, mobile-first and low-end-device friendly. */
.emergency-notice-layer{position:fixed;inset:0;z-index:2900;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(7,20,36,.58);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .18s ease;overscroll-behavior:contain}
.emergency-notice-layer.is-visible{opacity:1}.emergency-notice-layer.is-closing{opacity:0;pointer-events:none}
.emergency-notice-card{position:relative;width:min(760px,100%);max-height:calc(100dvh - 48px);overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid #dbe4ef;border-radius:34px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 40px 100px rgba(7,24,48,.28);padding:26px 28px 30px;transform:translateY(14px) scale(.985);opacity:.96;transition:transform .2s ease,opacity .2s ease;color:#17314f}
.emergency-notice-layer.is-visible .emergency-notice-card{transform:translateY(0) scale(1);opacity:1}.emergency-notice-layer.is-closing .emergency-notice-card{transform:translateY(9px) scale(.99);opacity:.94}
body.emergency-notice-open{overflow:hidden}
.emergency-notice-x{position:absolute;right:18px;top:18px;z-index:2;width:44px;height:44px;border:1px solid #d7e3f0;border-radius:14px;background:rgba(255,255,255,.92);color:#5f6f87;display:grid;place-items:center;cursor:pointer;touch-action:manipulation;box-shadow:0 6px 16px rgba(13,30,56,.08)}.emergency-notice-x svg{width:19px;height:19px}.emergency-notice-x:hover{background:#f2f6fb;color:#18375d}.emergency-notice-x:focus-visible,.emergency-lang-link:focus-visible{outline:3px solid rgba(23,104,239,.22);outline-offset:2px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.emergency-notice-shell{display:grid;gap:18px}
.emergency-notice-brand-row{display:grid;justify-items:center;gap:10px;padding-top:4px}.emergency-notice-brand-logo-wrap{display:flex;justify-content:center;align-items:center}.emergency-notice-brand-logo{display:block;width:min(360px,78%);max-width:360px;min-width:210px;height:auto;object-fit:contain}
.emergency-notice-language{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}.emergency-lang-link{border:0;background:none;padding:0;color:#1f66c9;font-size:16px;font-weight:700;line-height:1.2;cursor:pointer;touch-action:manipulation;transition:opacity .15s ease,color .15s ease}.emergency-lang-link.is-active{color:#148aa2}.emergency-lang-link:not(.is-active){opacity:.88}.emergency-lang-divider{color:#7a8ca5;font-size:18px;font-weight:700;line-height:1}
.emergency-notice-divider{height:1px;background:#dce4ed;margin-top:2px}
.emergency-notice-header{text-align:center;padding:8px 4px 0}.emergency-notice-header h2{margin:0;color:#0c2d63;font-size:44px;line-height:1.08;letter-spacing:-.03em;font-weight:850}.emergency-notice-title{margin:14px 0 0;color:#13879d;font-size:24px;line-height:1.2;font-weight:800}.emergency-notice-intro{margin:18px auto 0;max-width:580px;color:#2a3546;font-size:17px;line-height:1.7}
.emergency-session-banner{display:grid;grid-template-columns:58px minmax(0,1fr);gap:18px;align-items:center;padding:18px 22px;border-radius:22px;background:linear-gradient(135deg,#1976ff 0%,#1263e2 58%,#1660da 100%);box-shadow:0 18px 36px rgba(22,99,226,.23);color:#fff}.emergency-session-banner-icon{width:54px;height:54px;border-radius:50%;border:2px solid rgba(255,255,255,.75);display:grid;place-items:center;background:rgba(255,255,255,.08)}.emergency-session-banner-icon svg{width:30px;height:30px}.emergency-session-banner strong{display:block;font-size:19px;line-height:1.4;font-weight:800}
.emergency-feature-card{display:grid;grid-template-columns:124px minmax(0,1fr);gap:18px;align-items:center;padding:24px 22px;border-radius:22px;border:1px solid #d9e4ef;background:#fff;box-shadow:0 8px 20px rgba(13,31,58,.04)}.emergency-feature-icon{width:92px;height:92px;border-radius:28px;display:grid;place-items:center;justify-self:center}.emergency-feature-icon svg{width:46px;height:46px}.emergency-feature-copy strong{display:block;margin:0;color:#0b2e68;font-size:21px;line-height:1.25;font-weight:850}.emergency-feature-copy p{margin:10px 0 0;color:#334155;font-size:17px;line-height:1.7}.emergency-feature-copy ul{margin:12px 0 0 22px;padding:0;color:#2a3546;font-size:17px;line-height:1.65}.emergency-feature-copy li+li{margin-top:6px}
.emergency-feature-card--protection .emergency-feature-icon{background:linear-gradient(180deg,#2bd4c7 0%,#1b9dc0 100%);color:#fff}.emergency-feature-card--protection{border-color:#e0e8f0;background:#fff}
.emergency-feature-card--locked{border-color:#efc9c9;background:#fff8f8}.emergency-feature-card--locked .emergency-feature-icon{background:linear-gradient(180deg,#ffd8d8 0%,#ffc4c4 100%);color:#c42525}.emergency-feature-card--locked .emergency-feature-copy strong{color:#bf2020}
.emergency-feature-card--available{border-color:#bfe3c8;background:#f6fcf8}.emergency-feature-card--available .emergency-feature-icon{background:linear-gradient(180deg,#39c889 0%,#1eaf6e 100%);color:#fff}.emergency-feature-card--available .emergency-feature-copy strong{color:#188153}
.emergency-feature-card--tip{border-color:#d5e5ff;background:#f3f8ff}.emergency-feature-card--tip .emergency-feature-icon{background:linear-gradient(180deg,#2c7cff 0%,#1b5fd4 100%);color:#fff}.emergency-feature-card--tip .emergency-feature-copy p{margin:0;color:#1f4db0;font-size:17px;line-height:1.6}
@media(max-width:860px){.emergency-notice-card{width:min(680px,100%)}}
@media(max-width:700px){.emergency-notice-layer{align-items:flex-start;padding:10px}.emergency-notice-card{width:100%;max-height:calc(100dvh - 20px);border-radius:28px;padding:18px 16px max(18px,calc(env(safe-area-inset-bottom) + 12px))}.emergency-notice-x{right:12px;top:12px;width:40px;height:40px}.emergency-notice-brand-logo{width:min(280px,74%);min-width:185px}.emergency-notice-language{gap:10px}.emergency-lang-link{font-size:14px}.emergency-lang-divider{font-size:16px}.emergency-notice-header h2{font-size:28px}.emergency-notice-title{font-size:18px;margin-top:10px}.emergency-notice-intro{font-size:14px;line-height:1.65;margin-top:12px}.emergency-session-banner{grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px 15px;border-radius:18px}.emergency-session-banner-icon{width:40px;height:40px}.emergency-session-banner-icon svg{width:22px;height:22px}.emergency-session-banner strong{font-size:15px;line-height:1.45}.emergency-feature-card{grid-template-columns:70px minmax(0,1fr);gap:14px;padding:16px 14px;border-radius:18px}.emergency-feature-icon{width:60px;height:60px;border-radius:19px}.emergency-feature-icon svg{width:30px;height:30px}.emergency-feature-copy strong{font-size:16px}.emergency-feature-copy p,.emergency-feature-copy ul,.emergency-feature-card--tip .emergency-feature-copy p{font-size:14px;line-height:1.6}.emergency-feature-copy ul{margin-top:10px;margin-left:18px}}
@media(max-width:380px){.emergency-notice-card{padding-left:12px;padding-right:12px}.emergency-notice-header h2{font-size:24px}.emergency-notice-title{font-size:16px}.emergency-notice-intro{font-size:13px}.emergency-session-banner strong{font-size:14px}.emergency-feature-card{grid-template-columns:58px minmax(0,1fr);gap:11px}.emergency-feature-icon{width:52px;height:52px}.emergency-feature-copy strong{font-size:15px}.emergency-feature-copy p,.emergency-feature-copy ul,.emergency-feature-card--tip .emergency-feature-copy p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.emergency-notice-layer,.emergency-notice-card{transition:none}}

/* V45 — Separate professional Face Login setup workspace */
.face-login-page-view{width:100%;min-width:0;max-width:100%}
.face-login-page-view #faceLoginPageContent{width:100%;min-width:0}
.face-login-workspace{width:min(100%,1120px);margin:0 auto;padding:0 0 24px;animation:facePageIn .28s ease both}
.face-setup-shell{background:#fff;border:1px solid #e5ebf3;border-radius:18px;padding:24px;box-shadow:0 8px 30px rgba(29,52,84,.055);overflow:hidden}
.face-page-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
.face-page-topbar h2,.face-state-shell h2{margin:4px 0 0;font-size:22px;line-height:1.25;color:#172033;letter-spacing:-.02em}
.face-page-kicker{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:#eef5ff;color:#1768ef;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.face-lang-switch{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:11px;background:#f1f4f8;border:1px solid #e6ebf2;flex:0 0 auto}
.face-lang-switch button{border:0;background:transparent;border-radius:8px;min-height:38px;padding:0 14px;font:inherit;font-size:12px;font-weight:750;color:#68768a;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.face-lang-switch button.active{background:#fff;color:#1768ef;box-shadow:0 2px 8px rgba(30,53,85,.08)}
.face-setup-steps{display:grid;grid-template-columns:minmax(0,1fr) 48px minmax(0,1fr) 48px minmax(0,1fr);align-items:center;gap:8px;padding:14px 16px;border-radius:14px;background:#f8fafc;border:1px solid #edf1f5;margin-bottom:22px}
.face-setup-steps>div{display:flex;align-items:center;gap:9px;min-width:0;color:#8a96a7}
.face-setup-steps>div span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;border:1px solid #d9e0e9;background:#fff;font-size:11px;font-weight:850}
.face-setup-steps>div small{font-size:11px;font-weight:750;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.face-setup-steps>div.active{color:#1768ef}.face-setup-steps>div.active span{background:#1768ef;border-color:#1768ef;color:#fff}.face-setup-steps>div.done span{background:#e9f8ef;border-color:#bfe8cd;color:#1c9a54}
.face-setup-steps>i{height:1px;background:#dfe5ed}
.face-intro-hero{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;align-items:start;padding:20px;border-radius:16px;background:linear-gradient(135deg,#f4f8ff,#fbfdff);border:1px solid #e3ecfb;margin-bottom:16px}
.face-intro-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:15px;background:#1768ef;color:#fff;box-shadow:0 8px 18px rgba(23,104,239,.18)}
.face-intro-icon svg,.face-purpose-grid article>span svg,.face-enroll-intro>span svg,.face-terms-card>div>span svg,.face-state-icon svg,.face-powered-line svg{width:20px;height:20px;fill:none;stroke:currentColor}
.face-intro-hero h3,.face-purpose-grid h3,.face-terms-card h3,.face-enroll-intro h3{margin:0 0 7px;color:#172033;font-size:16px;line-height:1.35}
.face-intro-hero p,.face-purpose-grid p,.face-terms-card p,.face-enroll-intro p,.face-state-shell p{margin:0;color:#647287;font-size:13px;line-height:1.68}
.face-purpose-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.face-purpose-grid article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;padding:17px;border:1px solid #e8edf3;border-radius:14px;background:#fff}
.face-purpose-grid article.wide{grid-column:1/-1}
.face-purpose-grid article>span,.face-terms-card>div>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#eef5ff;color:#1768ef}
.face-purpose-grid h3,.face-terms-card h3{font-size:13px}.face-purpose-grid p,.face-terms-card p{font-size:12px;line-height:1.62}
.face-terms-card{padding:18px;border:1px solid #dfe7f2;border-radius:15px;background:#fbfcfe}
.face-terms-card>div{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start}
.face-terms-card label{display:flex;align-items:flex-start;gap:11px;margin-top:15px;padding-top:15px;border-top:1px solid #e8edf3;cursor:pointer;color:#25334a;font-size:12px;font-weight:750;line-height:1.45}
.face-terms-card input{width:19px;height:19px;min-width:19px;margin:0;accent-color:#1768ef}
.face-page-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.face-page-actions.split{justify-content:space-between}
.face-primary-action,.face-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:11px;padding:0 18px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}
.face-primary-action{border:1px solid #1768ef;background:#1768ef;color:#fff;box-shadow:0 7px 16px rgba(23,104,239,.16)}.face-primary-action svg{width:16px;height:16px;fill:none;stroke:currentColor}.face-primary-action:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.face-primary-action:not(:disabled):active,.face-secondary-action:active{transform:translateY(1px)}
.face-secondary-action{border:1px solid #dfe5ed;background:#fff;color:#4b5b71}
.face-step-panel{max-width:720px;margin:0 auto}.face-page-otp{margin:0!important;padding:20px!important;border-radius:15px!important;background:#fbfcfe!important}.face-page-otp .security-otp-send{min-height:44px!important}
.face-enroll-intro{display:grid;grid-template-columns:46px minmax(0,1fr);gap:13px;align-items:start;padding:16px;border-radius:14px;background:#f5f9ff;border:1px solid #e0eafa;margin-bottom:14px}.face-enroll-intro>span{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#1768ef;color:#fff}.face-enroll-intro>span svg{width:19px;height:19px;fill:none;stroke:currentColor}
.face-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.face-rule-grid article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:14px;border:1px solid #e8edf3;border-radius:13px;background:#fff}.face-rule-grid article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ecf9f1;color:#199553}.face-rule-grid article svg{width:16px;height:16px;fill:none;stroke:currentColor}.face-rule-grid strong{display:block;color:#25334a;font-size:12px;line-height:1.35;margin-bottom:3px}.face-rule-grid small{display:block;color:#718096;font-size:11px;line-height:1.5}
.face-powered-line{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;color:#8a96a7;font-size:10px;font-weight:700}.face-powered-line svg{width:14px;height:14px}
.face-rejected-note{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px 14px;border-radius:12px;background:#fff8ed;border:1px solid #f4dfba;margin-bottom:14px;color:#9a6213}.face-rejected-note>svg{width:20px;height:20px;fill:none;stroke:currentColor;margin:5px}.face-rejected-note strong{display:block;font-size:12px;margin-bottom:2px}.face-rejected-note small{display:block;font-size:11px;line-height:1.5;color:#8b6e43}
.face-state-shell{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:18px;max-width:820px;margin:0 auto;padding:26px}.face-state-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#fff5e8;color:#c47612}.face-state-icon.success{background:#eaf8ef;color:#159552}.face-state-shell.success{border-color:#dbeee2}.face-state-shell .face-primary-action{margin-top:18px}.face-enabled-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.face-enabled-meta span{min-width:180px;padding:11px 13px;border:1px solid #e8edf3;border-radius:11px;background:#fbfcfe}.face-enabled-meta b,.face-enabled-meta small{display:block}.face-enabled-meta b{font-size:11px;color:#27364c}.face-enabled-meta small{margin-top:3px;font-size:9px;color:#8a96a7}.face-review-inline{display:flex;align-items:center;gap:10px;margin-top:14px}.face-review-inline b{padding:6px 9px;border-radius:8px;background:#eef5ff;color:#1768ef}.face-review-inline span{font-size:10px;color:#8793a5}.face-loading-shell{display:flex;align-items:center;justify-content:center;gap:13px;min-height:180px}.face-loading-shell strong,.face-loading-shell small{display:block}.face-loading-shell strong{font-size:13px;color:#2b394f}.face-loading-shell small{font-size:11px;color:#8793a5;margin-top:3px}
.face-nav-badge{margin-left:auto!important;font-style:normal!important;font-size:8px!important;padding:3px 6px!important;border-radius:999px!important;background:#eef5ff!important;color:#1768ef!important;line-height:1!important}
@keyframes facePageIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.face-login-workspace{animation:none}.face-lang-switch button,.face-primary-action,.face-secondary-action{transition:none}}
@media(max-width:760px){
  .face-login-workspace{padding-bottom:max(16px,env(safe-area-inset-bottom))}.face-setup-shell{border-radius:14px;padding:15px;box-shadow:0 4px 18px rgba(29,52,84,.05)}
  .face-page-topbar{display:grid;gap:12px;margin-bottom:16px}.face-page-topbar h2,.face-state-shell h2{font-size:19px}.face-page-kicker{font-size:9px;min-height:23px;padding:0 8px}.face-lang-switch{width:100%}.face-lang-switch button{min-height:42px;font-size:12px}
  .face-setup-steps{grid-template-columns:1fr 20px 1fr 20px 1fr;gap:4px;padding:10px 8px;margin-bottom:15px}.face-setup-steps>div{display:grid;justify-items:center;text-align:center;gap:5px}.face-setup-steps>div span{width:27px;height:27px;min-width:27px}.face-setup-steps>div small{font-size:8.5px;white-space:normal;overflow:visible}.face-setup-steps>i{margin-top:-16px}
  .face-intro-hero{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:15px}.face-intro-icon{width:46px;height:46px;border-radius:13px}.face-intro-hero h3{font-size:14px}.face-intro-hero p,.face-state-shell p{font-size:12px;line-height:1.6}
  .face-purpose-grid{grid-template-columns:1fr;gap:9px}.face-purpose-grid article.wide{grid-column:auto}.face-purpose-grid article{padding:14px}.face-purpose-grid h3,.face-terms-card h3{font-size:12px}.face-purpose-grid p,.face-terms-card p{font-size:11px;line-height:1.6}
  .face-terms-card{padding:14px}.face-terms-card label{font-size:11px}.face-terms-card input{width:21px;height:21px;min-width:21px}
  .face-page-actions,.face-page-actions.split{display:grid;grid-template-columns:1fr;margin-top:14px}.face-page-actions.split .face-secondary-action{order:2}.face-primary-action,.face-secondary-action{width:100%;min-height:48px;font-size:12px;border-radius:11px}
  .face-page-otp{padding:14px!important}.face-page-otp .security-otp-row{grid-template-columns:1fr!important;gap:8px!important}.face-page-otp .security-otp-row input,.face-page-otp .security-otp-row button{min-height:48px!important}.face-page-otp .security-otp-head{grid-template-columns:38px minmax(0,1fr)!important}.face-page-otp .security-otp-head>span{width:38px!important;height:38px!important}
  .face-rule-grid{grid-template-columns:1fr;gap:8px}.face-rule-grid article{padding:12px}.face-rule-grid strong{font-size:11.5px}.face-rule-grid small{font-size:10.5px}
  .face-state-shell{grid-template-columns:46px minmax(0,1fr);gap:13px;padding:18px}.face-state-icon{width:46px;height:46px;border-radius:13px}.face-enabled-meta{display:grid}.face-enabled-meta span{min-width:0}.face-review-inline{align-items:flex-start;flex-direction:column;gap:5px}
}
@media(max-width:390px){.face-setup-shell{padding:12px}.face-setup-steps>div small{font-size:7.8px}.face-intro-hero{grid-template-columns:40px minmax(0,1fr);padding:12px}.face-intro-icon{width:40px;height:40px}.face-purpose-grid article,.face-terms-card{padding:12px}.face-purpose-grid article{grid-template-columns:36px minmax(0,1fr)}.face-purpose-grid article>span,.face-terms-card>div>span{width:36px;height:36px}.face-terms-card>div{grid-template-columns:36px minmax(0,1fr)}}

/* V45 security layout after moving Face Login to its own tab */
@media(min-width:1001px){.security-page-view .security-hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:430px){.security-manage-links button:last-child{grid-column:auto!important}}

/* =========================================================
   V46 file metadata + upload MB progress + action-menu close
   ========================================================= */
.doc-name-stack{min-width:0;display:flex;flex-direction:column;gap:3px}
.doc-name-line{min-width:0;display:flex;align-items:center;gap:5px}
.doc-file-meta{display:flex;align-items:center;gap:5px;min-width:0;color:#8390a4;font-size:8.8px;line-height:1.25;font-weight:600}
.doc-file-meta>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.doc-file-meta>i{font-style:normal;color:#b2bdcb;flex:0 0 auto}

.upload-job-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:3px 0 6px}
.upload-job-status-row .upload-job-status{margin:0;min-width:0}
.upload-job-bytes{font-size:9px;color:#708199;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.upload-state-complete .upload-job-bytes{color:#16894d}
.upload-state-error .upload-job-bytes{color:#9a6670}

.doc-action-menu-head{display:none}
.doc-action-menu-portal .doc-action-menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 5px 7px 9px;margin-bottom:3px;border-bottom:1px solid #edf1f6}
.doc-action-menu-head>strong{font-size:10px;color:#60718a;font-weight:800;letter-spacing:.02em}
.doc-action-menu-close{width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;border:0!important;border-radius:9px!important;background:#f3f6fa!important;color:#64758c!important;display:grid!important;place-items:center!important;cursor:pointer!important}
.doc-action-menu-close:hover{background:#eaf1fb!important;color:#1e5fbf!important}
.doc-action-menu-close svg{width:17px!important;height:17px!important}

@media(max-width:700px){
  .doc-file-meta{font-size:9.2px;gap:5px;margin-top:1px;color:#7b899d}
  .doc-row>.doc-modified,.doc-row>.doc-size{display:none!important}
  .doc-action-menu-portal{padding:8px 8px max(8px,env(safe-area-inset-bottom))!important}
  .doc-action-menu-portal .doc-action-menu-head{position:sticky;top:-8px;z-index:2;background:#fff;padding:9px 4px 9px 8px;margin:0 0 5px;border-radius:12px 12px 0 0}
  .doc-action-menu-head>strong{font-size:11px;color:#455a76}
  .doc-action-menu-close{width:40px!important;height:40px!important;min-width:40px!important;border-radius:11px!important;touch-action:manipulation}
  .doc-action-menu-close svg{width:20px!important;height:20px!important}
  .upload-job-status-row{gap:6px;margin:3px 0 7px}
  .upload-job-status-row .upload-job-status{font-size:9.3px}
  .upload-job-bytes{font-size:9.2px}
  .upload-manager-head-copy span{white-space:normal;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
}

@media(max-width:390px){
  .doc-file-meta{font-size:8.7px;gap:4px}
  .upload-job-status-row{grid-template-columns:1fr;gap:2px}
  .upload-job-bytes{font-size:8.8px}
}


/* V47: compact Home -> logout confirmation */
.home-logout-layer{position:fixed;inset:0;z-index:4100;display:grid;place-items:center;padding:18px;background:rgba(8,20,38,.52);opacity:0;transition:opacity .16s ease;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.home-logout-layer.is-visible{opacity:1}.home-logout-layer.is-closing{opacity:0;pointer-events:none}
.home-logout-dialog{position:relative;width:min(390px,100%);border:1px solid #dce6f1;border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(7,24,48,.26);padding:21px;transform:translateY(8px) scale(.985);transition:transform .17s ease;display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;color:#152b47}
.home-logout-layer.is-visible .home-logout-dialog{transform:translateY(0) scale(1)}
.home-logout-x{position:absolute;right:12px;top:12px;width:36px;height:36px;border:1px solid #e3e9f1;border-radius:10px;background:#f8fafc;color:#6b7d94;display:grid;place-items:center;cursor:pointer;touch-action:manipulation}.home-logout-x svg{width:15px;height:15px}
.home-logout-icon{width:54px;height:54px;border-radius:16px;background:#eef5ff;color:#1768ef;display:grid;place-items:center;box-shadow:inset 0 0 0 1px #dce9fb}.home-logout-icon svg{width:25px;height:25px}
.home-logout-copy{padding-right:28px;min-width:0}.home-logout-copy>span{display:block;color:#1768ef;font-size:8.5px;font-weight:900;letter-spacing:.12em}.home-logout-copy h2{margin:6px 0 5px;font-size:18px;line-height:1.2;letter-spacing:-.02em;color:#142a46}.home-logout-copy p{margin:0;color:#6a7b91;font-size:10.5px;line-height:1.55}
.home-logout-actions{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1.1fr;gap:9px;margin-top:4px}.home-logout-actions button{min-height:44px;border-radius:11px;padding:0 13px;font-size:10.5px;font-weight:850;cursor:pointer;touch-action:manipulation}.home-logout-cancel{border:1px solid #dce5ef;background:#fff;color:#5f7189}.home-logout-confirm{position:relative;border:1px solid #1768ef;background:#1768ef;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 9px 22px rgba(23,104,239,.2)}.home-logout-confirm svg{width:15px;height:15px}.home-logout-confirm i{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:homeLogoutSpin .7s linear infinite}.home-logout-confirm.is-working svg{display:none}.home-logout-confirm.is-working i{display:block}.home-logout-actions button:focus-visible,.home-logout-x:focus-visible{outline:3px solid rgba(23,104,239,.22);outline-offset:2px}
@keyframes homeLogoutSpin{to{transform:rotate(360deg)}}
@media(max-width:520px){.home-logout-layer{padding:12px;align-items:end}.home-logout-dialog{width:100%;grid-template-columns:48px minmax(0,1fr);gap:12px;border-radius:20px 20px 14px 14px;padding:18px 15px max(15px,env(safe-area-inset-bottom));transform:translateY(16px)}.home-logout-icon{width:48px;height:48px;border-radius:14px}.home-logout-icon svg{width:22px;height:22px}.home-logout-copy h2{font-size:17px}.home-logout-copy p{font-size:10.2px}.home-logout-actions{grid-template-columns:1fr}.home-logout-confirm{grid-row:1}.home-logout-cancel{grid-row:2}.home-logout-actions button{min-height:47px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.home-logout-layer,.home-logout-dialog{transition:none}.home-logout-confirm i{animation:none}}


/* =========================================================
   V51 document scanner — full page, auto corners, mobile safe
   ========================================================= */
.scan-document-page{width:100%;min-width:0}.scan-document-page[hidden]{display:none!important}
.scan-document-app{width:100%;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e1e8f0;border-radius:18px;background:#f7f9fc;box-shadow:0 10px 28px rgba(26,51,82,.05)}
.scan-document-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e1e8f0;background:#fff}
.scan-icon-btn{width:40px;height:40px;border:1px solid #dfe7f0;border-radius:12px;background:#f7f9fc;color:#60748e;display:grid;place-items:center;cursor:pointer;touch-action:manipulation}.scan-icon-btn svg{width:18px;height:18px;transform:rotate(90deg)}.scan-icon-btn:hover{background:#eef5ff;color:#1768ef;border-color:#d3e3fb}
.scan-head-copy{min-width:0}.scan-head-copy>span{display:block;font-size:8px;letter-spacing:.13em;font-weight:900;color:#1768ef}.scan-head-copy h2{margin:2px 0 1px;font-size:16px;line-height:1.2;color:#132844}.scan-head-copy small{display:block;color:#75859a;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scan-page-badge{padding:7px 10px;border:1px solid #dbe6f2;border-radius:999px;background:#f7faff;color:#506782;font-size:9px;font-weight:850;white-space:nowrap}
.scan-stepper{display:grid;grid-template-columns:auto minmax(22px,72px) auto minmax(22px,72px) auto;align-items:center;justify-content:center;gap:8px;padding:11px 16px;background:#fff;border-bottom:1px solid #e7edf4}.scan-stepper span{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:800;color:#8a98aa}.scan-stepper span i{font-style:normal;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#eef2f6;color:#708198;font-size:9px}.scan-stepper span.active{color:#1768ef}.scan-stepper span.active i{background:#1768ef;color:#fff}.scan-stepper b{height:2px;border-radius:2px;background:#e3e9f0}.scan-stepper span.active+b{background:#bcd5fb}
.scan-document-main{width:100%;max-width:900px;margin:0 auto;padding:16px 18px 8px;min-width:0}.scan-camera-panel,.scan-editor-panel,.scan-final-panel{width:100%;min-width:0}
.scan-camera-stage{position:relative;width:100%;height:min(62dvh,620px);min-height:360px;border-radius:20px;overflow:hidden;background:#101923;box-shadow:0 18px 44px rgba(15,32,54,.16);contain:layout paint}.scan-camera-stage video{width:100%;height:100%;display:block;object-fit:cover;background:#101923}
.scan-document-guide{position:absolute;inset:8% 12%;border:1.5px solid rgba(255,255,255,.76);border-radius:13px;box-shadow:0 0 0 999px rgba(0,0,0,.22);pointer-events:none}.scan-document-guide>i{position:absolute;width:34px;height:34px;border-color:#fff;border-style:solid}.scan-document-guide>i:nth-child(1){left:-2px;top:-2px;border-width:3px 0 0 3px;border-radius:10px 0 0}.scan-document-guide>i:nth-child(2){right:-2px;top:-2px;border-width:3px 3px 0 0;border-radius:0 10px 0 0}.scan-document-guide>i:nth-child(3){right:-2px;bottom:-2px;border-width:0 3px 3px 0;border-radius:0 0 10px}.scan-document-guide>i:nth-child(4){left:-2px;bottom:-2px;border-width:0 0 3px 3px;border-radius:0 0 0 10px}.scan-document-guide>span{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);padding:7px 10px;border-radius:999px;background:rgba(8,18,29,.74);color:#fff;font-size:8.5px;font-weight:750;white-space:nowrap;backdrop-filter:blur(8px)}
.scan-camera-message{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:#101923;color:#fff}.scan-camera-message[hidden]{display:none}.scan-camera-message strong{margin-top:12px;font-size:14px}.scan-camera-message small{max-width:330px;margin-top:5px;font-size:10px;line-height:1.5;color:#aab8c7}.scan-camera-message.is-error svg{width:34px;height:34px;color:#8eb9ff}.scan-mini-spinner{width:30px;height:30px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:scanSpin .8s linear infinite}
.scan-camera-tip{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;margin-top:10px;padding:10px 12px;border:1px solid #deebf7;border-radius:13px;background:#fff}.scan-camera-tip>svg{width:20px;height:20px;color:#1768ef;justify-self:center}.scan-camera-tip span{display:grid;gap:1px}.scan-camera-tip strong{font-size:9.5px;color:#334d6b}.scan-camera-tip small{font-size:8.8px;color:#75879c;line-height:1.4}
.scan-editor-copy{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:0 2px 10px}.scan-editor-copy>span{display:grid;gap:2px}.scan-editor-copy strong{font-size:13px;color:#223956}.scan-editor-copy small{font-size:9px;color:#77889d}.scan-editor-copy>b{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#eef3f8;color:#6b7d92;font-size:8px}.scan-editor-copy>b.good{background:#eaf8ef;color:#14844a}.scan-editor-copy>b.warn{background:#fff5df;color:#9a6a08}
.scan-editor-stage{position:relative;width:100%;height:min(61dvh,600px);min-height:360px;border-radius:20px;overflow:hidden;background:#13202d;touch-action:none;user-select:none;contain:layout paint}.scan-editor-stage>img{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;will-change:filter}.scan-corner-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.scan-corner-svg polygon{fill:rgba(23,104,239,.05);stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.scan-corner-handle{position:absolute;z-index:3;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;border:4px solid #1768ef;background:#fff;box-shadow:0 5px 16px rgba(0,0,0,.28);touch-action:none;cursor:grab}.scan-corner-handle:active{cursor:grabbing;transform:scale(1.08)}
.scan-filter-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px;padding:5px;border:1px solid #e0e8f1;border-radius:12px;background:#fff}.scan-filter-bar button{min-height:34px;border:0;border-radius:8px;background:transparent;color:#667990;font-size:8.8px;font-weight:800;cursor:pointer;touch-action:manipulation}.scan-filter-bar button.active{background:#1768ef;color:#fff;box-shadow:0 4px 12px rgba(23,104,239,.16)}
.scan-editor-tools{display:flex;justify-content:center;gap:8px;margin-top:9px;flex-wrap:wrap}.scan-editor-tools button{min-height:40px;padding:0 13px;border:1px solid #dce6f1;border-radius:11px;background:#fff;color:#526b87;font-size:9.5px;font-weight:800;display:flex;align-items:center;gap:7px;cursor:pointer;touch-action:manipulation}.scan-editor-tools svg{width:15px;height:15px}
.scan-final-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;padding:22px;border:1px solid #dfe8f2;border-radius:18px;background:#fff}.scan-final-icon{width:58px;height:58px;border-radius:16px;background:#edf5ff;color:#1768ef;display:grid;place-items:center}.scan-final-icon svg{width:26px;height:26px}.scan-final-copy{min-width:0}.scan-final-copy>span{font-size:8px;letter-spacing:.12em;color:#1768ef;font-weight:900}.scan-final-copy h3{margin:4px 0;font-size:18px;color:#142a46}.scan-final-copy p{margin:0;font-size:10px;line-height:1.55;color:#718297}.scan-name-field{grid-column:1/-1;display:grid;gap:6px;margin-top:3px}.scan-name-field>span{font-size:9px;font-weight:850;color:#4f6580}.scan-name-field>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #d8e3ee;border-radius:12px;background:#fff;overflow:hidden}.scan-name-field input{min-width:0;height:48px;border:0;outline:0;padding:0 12px;font:inherit;font-size:11px;color:#233b58}.scan-name-field b{padding:0 12px;color:#708197;font-size:10px}.scan-name-field>div:focus-within{border-color:#80b2fb;box-shadow:0 0 0 3px rgba(23,104,239,.1)}.scan-save-meta{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.scan-save-meta span{display:flex;align-items:center;gap:6px;padding:8px 9px;border-radius:10px;background:#f4f7fb;color:#63758c;font-size:8.5px}.scan-save-meta svg{width:13px;height:13px;color:#1768ef}.scan-final-note{grid-column:1/-1;display:flex;gap:8px;align-items:flex-start;padding:10px 11px;border-radius:11px;background:#f7f9fc;color:#75859a;font-size:9px;line-height:1.45}.scan-final-note strong{color:#3e5570}
.scan-pages{width:min(900px,calc(100% - 36px));margin:6px auto 0;padding:11px 12px;border:1px solid #e0e8f1;border-radius:15px;background:#fff}.scan-pages-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.scan-pages-head>span{display:grid;gap:1px}.scan-pages-head strong{font-size:10px;color:#324b69}.scan-pages-head small{font-size:8.5px;color:#8391a3}.scan-pages-head button{border:0;background:transparent;color:#7e8ea2;font-size:8.5px;font-weight:800;cursor:pointer}.scan-page-strip{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.scan-page-thumb{position:relative;flex:0 0 74px;height:92px;border-radius:10px;overflow:hidden;border:1px solid #dbe5ef;background:#eef2f6}.scan-page-thumb img{width:100%;height:100%;object-fit:cover}.scan-page-thumb>span{position:absolute;left:5px;bottom:5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(10,24,39,.78);color:#fff;display:grid;place-items:center;font-size:8px;font-weight:850}.scan-page-thumb>em{position:absolute;left:5px;right:5px;top:5px;padding:3px 5px;border-radius:6px;background:rgba(255,255,255,.88);font-style:normal;font-size:6.8px;font-weight:850;color:#4f647d;text-align:center;text-transform:capitalize;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-page-thumb button{position:absolute;right:5px;bottom:5px;width:24px;height:24px;border:0;border-radius:8px;background:rgba(255,255,255,.94);color:#5f7289;display:grid;place-items:center;cursor:pointer}.scan-page-thumb button svg{width:12px;height:12px}
.scan-actions{position:sticky;bottom:0;z-index:7;width:100%;display:grid;grid-template-columns:minmax(96px,1fr) 86px minmax(110px,1fr);align-items:center;gap:12px;padding:13px 18px calc(13px + env(safe-area-inset-bottom));border-top:1px solid #dfe7f0;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.scan-actions[hidden]{display:none!important}.scan-secondary-action,.scan-primary-action{min-height:46px;border-radius:13px;padding:0 14px;font-size:10px;font-weight:850;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;touch-action:manipulation}.scan-secondary-action{border:1px solid #d9e4ef;background:#fff;color:#536b87}.scan-primary-action{border:1px solid #1768ef;background:#1768ef;color:#fff;box-shadow:0 9px 20px rgba(23,104,239,.18)}.scan-primary-action:disabled,.scan-secondary-action:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}.scan-actions svg{width:16px;height:16px}.scan-shutter{width:72px;height:72px;justify-self:center;border:3px solid #d4dfeb;border-radius:50%;background:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 22px rgba(20,45,72,.12);touch-action:manipulation}.scan-shutter i{width:56px;height:56px;border-radius:50%;background:#1768ef;box-shadow:inset 0 0 0 3px #fff}.scan-shutter.is-capturing i{transform:scale(.86);transition:transform .1s ease}.scan-review-actions{grid-template-columns:.8fr 1.35fr}.scan-final-actions{grid-template-columns:.9fr 1.35fr}.scan-primary-action.wide{width:100%}.scan-review-actions .scan-primary-action.is-working,.scan-final-actions .scan-primary-action.is-working{opacity:.72}.scan-final-actions .scan-primary-action i{display:none;width:14px;height:14px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;border-radius:50%;animation:scanSpin .7s linear infinite}.scan-final-actions .scan-primary-action.is-working i{display:block}
@keyframes scanSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){
  .scan-document-app{border-radius:14px}.scan-document-head{grid-template-columns:42px minmax(0,1fr) auto;padding:10px 11px}.scan-head-copy h2{font-size:14px}.scan-head-copy small{font-size:8.2px}.scan-page-badge{padding:6px 8px;font-size:8px}.scan-stepper{padding:9px 10px;gap:5px}.scan-stepper span{font-size:8px;gap:4px}.scan-stepper span i{width:20px;height:20px;font-size:8px}.scan-document-main{padding:10px 9px 5px}.scan-camera-stage,.scan-editor-stage{height:min(57dvh,540px);min-height:330px;border-radius:15px}.scan-document-guide{inset:6% 7%;border-radius:10px}.scan-document-guide>span{bottom:9px;font-size:7.7px}.scan-camera-tip{margin-top:8px;padding:9px 10px}.scan-editor-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;margin:1px 2px 8px}.scan-editor-copy small{font-size:8.5px}.scan-corner-handle{width:40px;height:40px;margin:-20px 0 0 -20px;border-width:4px}.scan-filter-bar{gap:3px;padding:4px}.scan-filter-bar button{min-height:36px;font-size:8px}.scan-editor-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.scan-editor-tools button{justify-content:center;padding:0 7px;font-size:8.5px}.scan-final-card{grid-template-columns:48px minmax(0,1fr);gap:11px;padding:15px 13px}.scan-final-icon{width:48px;height:48px;border-radius:13px}.scan-final-icon svg{width:22px;height:22px}.scan-final-copy h3{font-size:16px}.scan-pages{width:calc(100% - 18px);margin-top:4px;padding:9px 9px}.scan-page-thumb{flex-basis:68px;height:84px}.scan-actions{grid-template-columns:minmax(82px,1fr) 78px minmax(100px,1fr);gap:8px;padding:10px 9px calc(10px + env(safe-area-inset-bottom))}.scan-secondary-action,.scan-primary-action{min-height:45px;padding:0 9px;font-size:9.2px}.scan-shutter{width:66px;height:66px}.scan-shutter i{width:50px;height:50px}.scan-review-actions,.scan-final-actions{grid-template-columns:.82fr 1.35fr}
}
@media(max-width:430px){.scan-head-copy small{display:none}.scan-camera-stage,.scan-editor-stage{min-height:300px;height:53dvh}.scan-document-guide{inset:5%}.scan-filter-bar button{font-size:7.6px}.scan-editor-tools button span{white-space:nowrap}.scan-actions{grid-template-columns:1fr 70px 1fr}.scan-shutter{width:62px;height:62px}.scan-shutter i{width:46px;height:46px}.scan-secondary-action,.scan-primary-action{font-size:8.5px;padding:0 7px}.scan-final-actions{grid-template-columns:1fr}.scan-final-actions .scan-primary-action{grid-row:1}.scan-final-actions .scan-secondary-action{grid-row:2}.scan-final-card{grid-template-columns:42px minmax(0,1fr)}.scan-final-icon{width:42px;height:42px}.scan-save-meta{gap:5px}.scan-save-meta span{padding:7px;font-size:7.8px}}
@media(max-height:680px) and (max-width:700px){.scan-camera-stage,.scan-editor-stage{height:48dvh;min-height:260px}.scan-document-guide>span{display:none}.scan-camera-tip{display:none}}
@media(prefers-reduced-motion:reduce){.scan-mini-spinner,.scan-final-actions .scan-primary-action i{animation:none}.scan-shutter.is-capturing i{transition:none}}


/* =========================================================
   V49 — Better Security Alerts
   ========================================================= */
.notification-popover-title>div{display:grid;gap:2px;min-width:0}.notification-popover-title>div>small{font-size:9.5px;color:#718097;font-weight:650}.notification-popover-title>button{flex:0 0 auto}
.notification-item{width:100%;border:0;background:transparent;text-align:left;color:inherit;font-family:inherit;cursor:pointer;position:relative;align-items:start;transition:background .16s ease,transform .16s ease}.notification-item:active{transform:scale(.992)}
.notification-item.is-unread{background:#f8fbff}.notification-item.is-unread:after{content:"";position:absolute;right:9px;top:13px;width:6px;height:6px;border-radius:50%;background:#1768ef}.notification-item.is-read{opacity:.82}
.notification-item .notification-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef4ff;color:#1767ee}.notification-item .notification-icon svg{width:17px;height:17px}
.notification-item.kind-security .notification-icon{background:#edf4ff;color:#145fcf}.notification-item.kind-warning .notification-icon{background:#fff6df;color:#b87700}.notification-item.kind-danger .notification-icon{background:#fff0f1;color:#d92c3a}.notification-item.kind-success .notification-icon{background:#ecfaf2;color:#12844a}
.notification-item .notification-meta{display:block!important;width:auto!important;height:auto!important;background:transparent!important;border-radius:0!important;font-size:8.5px!important;line-height:1.2!important;color:#1768ef!important;font-weight:850!important;letter-spacing:.06em;text-transform:uppercase;margin:1px 0 4px}
.notification-item.kind-warning .notification-meta{color:#9b6804!important}.notification-item.kind-danger .notification-meta{color:#c12636!important}.notification-item.kind-success .notification-meta{color:#0b7a41!important}
.notification-item em{display:inline-block;margin-top:5px;font-style:normal;font-size:9px;font-weight:800;color:#1768ef}.notification-empty-secure{display:grid;justify-items:center;gap:5px;padding:25px 14px}.notification-empty-secure>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#eef5ff;color:#1768ef;margin-bottom:3px}.notification-empty-secure>span svg{width:20px;height:20px}.notification-empty-secure strong{font-size:12px;color:#263c5d}.notification-empty-secure small{font-size:9.5px;line-height:1.5;color:#7a8799;max-width:230px}
@media(max-width:700px){.notification-popover-title>div>small{font-size:9px}.notification-item.is-unread:after{right:7px;top:12px}.notification-item .notification-icon{width:38px;height:38px}.notification-item .notification-icon svg{width:18px;height:18px}.notification-item .notification-meta{font-size:8px!important}.notification-item em{font-size:8.7px}.notification-empty-secure{padding:28px 12px max(28px,env(safe-area-inset-bottom))}}


/* V50 — Professional document Tags / Labels */
.doc-name-stack{min-width:0}.doc-tag-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:4px;max-width:100%}.doc-tag-chip{border:0;display:inline-flex;align-items:center;gap:3px;min-height:20px;padding:2px 7px;border-radius:999px;font-size:8.5px;font-weight:750;line-height:1;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-tag-chip svg{width:10px;height:10px;flex:0 0 auto}.doc-tag-chip[data-tag-open]{cursor:pointer;transition:transform .15s ease,filter .15s ease}.doc-tag-chip[data-tag-open]:hover{transform:translateY(-1px);filter:brightness(.97)}.doc-tag-more{font-size:8.5px;color:#718099;font-weight:750}.tag-tone-0{background:#eaf2ff!important;color:#1765df!important}.tag-tone-1{background:#e9f8ef!important;color:#0a8741!important}.tag-tone-2{background:#f2ebff!important;color:#6a31d7!important}.tag-tone-3{background:#fff0e3!important;color:#c56a12!important}.tag-tone-4{background:#ffecef!important;color:#d53e59!important}.tag-tone-5{background:#eaf7f7!important;color:#177e83!important}
.tags-page-card{overflow:hidden;min-height:460px}.tags-page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 22px 18px;border-bottom:1px solid #e8edf4}.tags-page-kicker{display:block;font-size:8.5px;letter-spacing:.11em;color:#1f6cf3;font-weight:850;margin-bottom:5px}.tags-page-heading h2{margin:0;color:#1f3049;font-size:18px}.tags-page-heading p{margin:5px 0 0;color:#70809a;font-size:11px;line-height:1.55;max-width:620px}.tags-page-count{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:8px;background:#f2f6fb;color:#52657e;font-size:10px;font-weight:750;white-space:nowrap}.tags-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 22px 24px}.tag-page-tile{border:1px solid #e1e8f1;background:#fff!important;color:#263b59!important;border-radius:12px;padding:13px 14px;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.tag-page-tile:hover{transform:translateY(-2px);border-color:#b8cae8;box-shadow:0 9px 22px rgba(25,52,90,.07)}.tag-page-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:currentColor;color:inherit;position:relative}.tag-page-icon:after{content:"";position:absolute;inset:0;background:#fff;opacity:.86;border-radius:inherit}.tag-page-icon svg{width:17px;height:17px;position:relative;z-index:1}.tag-page-tile strong{display:block;color:#253752;font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-page-tile small{display:block;color:#7a889e;font-size:9.5px;margin-top:3px}.tag-page-tile>i{font-style:normal;color:#8997aa;font-size:20px}.tags-empty-state{grid-column:1/-1;padding:70px 20px;text-align:center}.tags-empty-state>span{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:#eef4ff;color:#1f6cf3;margin:0 auto 13px}.tags-empty-state>span svg{width:28px;height:28px}.tags-empty-state h3{font-size:14px;color:#283d5a;margin:0 0 5px}.tags-empty-state p{margin:0 auto 14px;max-width:420px;color:#74849b;font-size:10.5px;line-height:1.6}.tags-empty-state button{height:34px;border:0;border-radius:8px;padding:0 13px;background:#1f6cf3;color:white;font-size:10px;font-weight:750;cursor:pointer}
.tag-manager-file{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #e6ecf4;background:#f8fafc;border-radius:11px;margin-bottom:16px}.tag-manager-file>span{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#e9f2ff;color:#1c68e5;flex:0 0 auto}.tag-manager-file svg{width:18px;height:18px}.tag-manager-file strong{display:block;font-size:11px;color:#263a57;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.tag-manager-file small{display:block;font-size:9px;color:#7b8aa0;margin-top:3px}.tag-editor-section{margin-top:15px}.tag-editor-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.tag-editor-label strong,.tag-editor-add>label{font-size:10px;color:#41546f;font-weight:800}.tag-editor-label span{font-size:8.5px;color:#8a98aa}.tag-editor-selected-wrap,.tag-suggestions{min-height:44px;border:1px solid #e2e9f2;border-radius:10px;padding:8px;display:flex;gap:6px;flex-wrap:wrap;align-content:flex-start;background:#fff}.tag-editor-selected{border:0;min-height:28px;border-radius:999px;padding:0 7px 0 9px;display:inline-flex;align-items:center;gap:5px;font-size:9.5px;font-weight:750;cursor:pointer}.tag-editor-selected svg{width:11px;height:11px}.tag-editor-selected i{font-style:normal;font-size:15px;line-height:1;margin-left:1px;opacity:.72}.tag-editor-placeholder,.tag-suggestions>span{font-size:9px;color:#96a2b2;align-self:center}.tag-editor-add{margin-top:15px}.tag-editor-add>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:6px}.tag-editor-add input{height:40px;border:1px solid #dce5f0;border-radius:9px;padding:0 11px;outline:none;font-size:11px;color:#293d59}.tag-editor-add input:focus{border-color:#77a7f5;box-shadow:0 0 0 3px rgba(31,108,243,.08)}.tag-editor-add button{height:40px;border:0;border-radius:9px;padding:0 13px;background:#eaf2ff;color:#1765df;display:flex;align-items:center;gap:5px;font-size:10px;font-weight:800;cursor:pointer}.tag-editor-add button svg{width:15px;height:15px}.tag-editor-add small{display:block;margin-top:5px;color:#8b98a9;font-size:8.5px}.tag-suggestion{border:0;min-height:28px;border-radius:999px;padding:0 9px;font-size:9px;font-weight:750;cursor:pointer}
@media(max-width:900px){.tags-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.doc-tag-row{gap:3px;margin-top:3px}.doc-tag-chip{min-height:19px;padding:2px 6px;font-size:8px;max-width:92px}.tags-page-heading{padding:17px 15px 14px}.tags-page-heading h2{font-size:16px}.tags-page-heading p{font-size:10px}.tags-page-grid{grid-template-columns:1fr;padding:12px 14px 18px;gap:9px}.tag-page-tile{min-height:61px;padding:11px 12px}.tag-manager-modal .dashboard-action-page-body{padding-bottom:max(18px,env(safe-area-inset-bottom))}.tag-editor-add>div{grid-template-columns:minmax(0,1fr) 74px}.tag-editor-add button{justify-content:center;padding:0 9px}.tag-editor-selected-wrap,.tag-suggestions{max-height:132px;overflow:auto;-webkit-overflow-scrolling:touch}}
.bulk-tag-summary{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid #dce8f8;background:#f4f8ff;border-radius:11px;margin-bottom:14px}.bulk-tag-summary>span{width:35px;height:35px;border-radius:9px;background:#e4efff;color:#1d68e2;display:grid;place-items:center;flex:0 0 auto}.bulk-tag-summary svg{width:17px;height:17px}.bulk-tag-summary strong{display:block;font-size:10.5px;color:#29405e}.bulk-tag-summary small{display:block;font-size:8.7px;color:#74869e;margin-top:3px;line-height:1.45}
.tag-page-tile.tag-tone-0{--tag-page-accent:#1765df}.tag-page-tile.tag-tone-1{--tag-page-accent:#0a8741}.tag-page-tile.tag-tone-2{--tag-page-accent:#6a31d7}.tag-page-tile.tag-tone-3{--tag-page-accent:#c56a12}.tag-page-tile.tag-tone-4{--tag-page-accent:#d53e59}.tag-page-tile.tag-tone-5{--tag-page-accent:#177e83}.tag-page-tile .tag-page-icon{color:var(--tag-page-accent,#1765df);background:#f1f5fb}.tag-page-tile .tag-page-icon:after{display:none}

/* =========================================================
   V52 — Scanner polish + higher-accuracy mobile review UI
   ========================================================= */
.scan-document-app{
  --scan-blue:#1768ef;
  --scan-ink:#17314f;
  --scan-muted:#71849a;
  --scan-line:#dfe7f0;
  -webkit-text-size-adjust:100%;text-size-adjust:100%;
  background:#f5f8fc;
}
.scan-document-head{padding:15px 18px;gap:13px}.scan-head-copy>span{font-size:9px}.scan-head-copy h2{font-size:18px;margin:3px 0 2px}.scan-head-copy small{font-size:11px}.scan-page-badge{font-size:11px;padding:8px 11px}
.scan-stepper{padding:13px 18px;gap:10px}.scan-stepper span{font-size:11px;gap:7px}.scan-stepper span i{width:25px;height:25px;font-size:10px}.scan-stepper b{height:3px}
.scan-document-main{max-width:880px;padding:20px 20px 10px}.scan-camera-panel,.scan-editor-panel,.scan-final-panel{max-width:820px;margin:0 auto}
.scan-camera-stage{height:min(64dvh,620px);min-height:380px;border-radius:22px}.scan-camera-tip{margin-top:12px;padding:13px 14px;border-radius:15px;grid-template-columns:38px minmax(0,1fr)}.scan-camera-tip strong{font-size:12px}.scan-camera-tip small{font-size:10.5px;line-height:1.45}.scan-document-guide>span{font-size:10.5px;padding:8px 12px}
.scan-editor-copy{align-items:center;margin:0 0 12px;padding:12px 14px;border:1px solid var(--scan-line);border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(28,53,83,.035)}.scan-editor-copy strong{font-size:15px}.scan-editor-copy small{font-size:11px;line-height:1.4}.scan-editor-copy>b{font-size:10px;padding:7px 10px}
.scan-editor-stage{height:min(62dvh,610px);min-height:360px;border-radius:21px;box-shadow:0 15px 34px rgba(12,29,49,.14)}
.scan-corner-svg polygon{fill:rgba(23,104,239,.075);stroke:#fff;stroke-width:2.2;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.scan-corner-handle{width:38px;height:38px;margin:-19px 0 0 -19px;border-width:4px;box-shadow:0 5px 17px rgba(0,0,0,.30),0 0 0 2px rgba(255,255,255,.42);transition:transform .12s ease,box-shadow .12s ease}.scan-corner-handle:active{transform:scale(1.10);box-shadow:0 5px 20px rgba(0,0,0,.38),0 0 0 4px rgba(23,104,239,.22)}
.scan-corner-loupe{position:absolute;z-index:5;right:14px;top:14px;width:94px;height:94px;border-radius:50%;border:4px solid #fff;background-color:#102031;background-repeat:no-repeat;box-shadow:0 10px 30px rgba(0,0,0,.38),0 0 0 2px var(--scan-blue);pointer-events:none;overflow:hidden}.scan-corner-loupe.place-left{right:auto;left:14px}.scan-corner-loupe i:before,.scan-corner-loupe i:after{content:"";position:absolute;left:50%;top:50%;background:var(--scan-blue);transform:translate(-50%,-50%);box-shadow:0 0 0 1px rgba(255,255,255,.9)}.scan-corner-loupe i:before{width:24px;height:1px}.scan-corner-loupe i:after{width:1px;height:24px}
.scan-filter-bar{margin-top:12px;padding:5px;gap:5px;border-radius:14px}.scan-filter-bar button{min-height:44px;border-radius:10px;font-size:12px;line-height:1;white-space:nowrap}.scan-filter-bar button.active{box-shadow:0 5px 14px rgba(23,104,239,.18)}
.scan-editor-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:10px}.scan-editor-tools button{min-height:46px;justify-content:center;padding:0 12px;border-radius:13px;font-size:12px;line-height:1.15;white-space:nowrap;transition:background .14s ease,border-color .14s ease,transform .1s ease}.scan-editor-tools button:active{transform:scale(.985);background:#f4f8fd}.scan-editor-tools svg{width:17px;height:17px}
.scan-pages{width:min(820px,calc(100% - 40px));margin:8px auto 4px;padding:12px 13px;border-radius:16px;box-shadow:0 5px 16px rgba(28,53,83,.025)}.scan-pages-head{margin-bottom:10px}.scan-pages-head strong{font-size:12px}.scan-pages-head small,.scan-pages-head button{font-size:10.5px}.scan-page-strip{gap:10px}.scan-page-thumb{flex-basis:72px;height:90px}.scan-page-thumb>em{font-size:8px}.scan-page-thumb>span{font-size:9px}
.scan-actions{gap:12px;padding:13px 18px calc(13px + env(safe-area-inset-bottom));background:rgba(255,255,255,.985);box-shadow:0 -8px 26px rgba(24,49,79,.06)}.scan-secondary-action,.scan-primary-action{min-height:50px;border-radius:14px;padding:0 14px;font-size:13px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .1s ease,box-shadow .14s ease,background .14s ease}.scan-secondary-action:active,.scan-primary-action:active{transform:scale(.985)}.scan-actions svg{flex:0 0 auto;width:17px;height:17px}.scan-shutter{width:70px;height:70px}.scan-shutter i{width:54px;height:54px}.scan-review-actions{grid-template-columns:minmax(120px,.8fr) minmax(170px,1.35fr)}.scan-final-actions{grid-template-columns:minmax(160px,.9fr) minmax(190px,1.35fr)}
.scan-final-card{padding:24px;border-radius:20px}.scan-final-copy h3{font-size:20px}.scan-final-copy p{font-size:12px}.scan-name-field>span{font-size:11px}.scan-name-field input{font-size:14px;height:50px}.scan-name-field b{font-size:12px}.scan-save-meta span{font-size:10px}.scan-final-note{font-size:10.5px}

@media(max-width:700px){
  .scan-document-app{border-radius:16px}.scan-document-head{grid-template-columns:40px minmax(0,1fr) auto;padding:12px 12px;gap:9px}.scan-icon-btn{width:38px;height:38px}.scan-head-copy>span{font-size:8px}.scan-head-copy h2{font-size:16px}.scan-head-copy small{font-size:9.5px}.scan-page-badge{font-size:9.5px;padding:7px 9px}
  .scan-stepper{padding:11px 12px;gap:6px}.scan-stepper span{font-size:10px;gap:5px}.scan-stepper span i{width:23px;height:23px;font-size:9px}.scan-stepper b{min-width:18px}
  .scan-document-main{padding:13px 11px 8px}.scan-camera-stage{height:min(59dvh,560px);min-height:330px;border-radius:18px}.scan-editor-stage{height:min(58dvh,560px);min-height:320px;border-radius:18px}.scan-camera-tip{padding:11px 12px}.scan-camera-tip strong{font-size:11.5px}.scan-camera-tip small{font-size:10px}
  .scan-editor-copy{margin-bottom:10px;padding:11px 12px;border-radius:13px}.scan-editor-copy strong{font-size:14px}.scan-editor-copy small{font-size:10.5px}.scan-editor-copy>b{font-size:9px}
  .scan-corner-handle{width:40px;height:40px;margin:-20px 0 0 -20px}.scan-corner-loupe{width:86px;height:86px;right:10px;top:10px}.scan-corner-loupe.place-left{left:10px}
  .scan-filter-bar{margin-top:10px}.scan-filter-bar button{min-height:42px;font-size:11px}.scan-editor-tools{gap:7px;margin-top:8px}.scan-editor-tools button{min-height:45px;padding:0 8px;font-size:10.5px}.scan-editor-tools svg{width:15px;height:15px}
  .scan-pages{width:calc(100% - 22px);padding:11px;margin-top:6px}.scan-page-thumb{flex-basis:68px;height:86px}
  .scan-actions{gap:9px;padding:11px 11px calc(11px + env(safe-area-inset-bottom))}.scan-secondary-action,.scan-primary-action{min-height:50px;padding:0 11px;font-size:12.5px}.scan-shutter{width:66px;height:66px}.scan-shutter i{width:50px;height:50px}.scan-camera-actions{grid-template-columns:minmax(95px,1fr) 72px minmax(118px,1fr)}.scan-review-actions{grid-template-columns:minmax(100px,.78fr) minmax(155px,1.32fr)}.scan-final-actions{grid-template-columns:minmax(130px,.9fr) minmax(165px,1.3fr)}
  .scan-final-card{padding:17px 14px}.scan-final-copy h3{font-size:18px}.scan-final-copy p{font-size:11px}.scan-name-field input{font-size:13px}
}
@media(max-width:430px){
  .scan-head-copy small{display:none}.scan-page-badge{max-width:70px;overflow:hidden;text-overflow:ellipsis}.scan-stepper{grid-template-columns:auto minmax(14px,1fr) auto minmax(14px,1fr) auto}.scan-stepper span{font-size:9.5px}
  .scan-camera-stage{height:min(55dvh,520px);min-height:300px}.scan-editor-stage{height:min(55dvh,520px);min-height:300px}.scan-document-guide{inset:6%}.scan-document-guide>span{font-size:9px;max-width:82%;overflow:hidden;text-overflow:ellipsis}
  .scan-editor-copy{grid-template-columns:minmax(0,1fr) auto}.scan-editor-copy small{font-size:10px}.scan-filter-bar button{font-size:10px}.scan-editor-tools button{font-size:10px;padding:0 5px}.scan-editor-tools button span{white-space:nowrap}
  .scan-actions{gap:8px;padding-left:9px;padding-right:9px}.scan-secondary-action,.scan-primary-action{font-size:12px;padding:0 8px}.scan-camera-actions{grid-template-columns:minmax(88px,1fr) 66px minmax(108px,1fr)}.scan-shutter{width:62px;height:62px}.scan-shutter i{width:46px;height:46px}.scan-review-actions{grid-template-columns:minmax(90px,.72fr) minmax(150px,1.28fr)}.scan-review-actions .scan-primary-action,.scan-review-actions .scan-secondary-action{font-size:13px}.scan-final-actions{grid-template-columns:1fr}.scan-final-actions .scan-primary-action{grid-row:1}.scan-final-actions .scan-secondary-action{grid-row:2}
}
@media(max-width:360px){.scan-editor-tools button{font-size:9px}.scan-actions svg{display:none}.scan-camera-actions{grid-template-columns:minmax(76px,1fr) 62px minmax(96px,1fr)}.scan-secondary-action,.scan-primary-action{font-size:11.5px}.scan-review-actions .scan-primary-action,.scan-review-actions .scan-secondary-action{font-size:12px}}
@media(max-height:680px) and (max-width:700px){.scan-camera-stage,.scan-editor-stage{height:47dvh;min-height:255px}.scan-camera-tip{display:none}.scan-document-main{padding-top:9px}.scan-editor-copy{padding:9px 10px}.scan-filter-bar button{min-height:38px}.scan-editor-tools button{min-height:40px}.scan-actions{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.scan-corner-handle,.scan-editor-tools button,.scan-secondary-action,.scan-primary-action{transition:none}}

/* =========================================================
   V53 — DocScan-style 3-column scanner workspace
   Desktop: capture / pages / preview. Mobile: compact stacked flow.
   ========================================================= */
.scan-workspace-app{background:#f8fafc;border-radius:16px;overflow:visible;box-shadow:0 8px 26px rgba(20,45,80,.05)}
.scan-workspace-head{position:sticky;top:0;z-index:16;border-radius:16px 16px 0 0;background:rgba(255,255,255,.98);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.scan-workspace-grid{display:grid;grid-template-columns:minmax(300px,360px) minmax(150px,190px) minmax(360px,1fr);gap:12px;padding:12px;min-width:0;align-items:start}
.scan-workspace-column{min-width:0;display:grid;gap:12px}
.scan-workspace-card{min-width:0;border:1px solid #dfe7f0;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(26,51,82,.025)}
.scan-capture-card{padding:12px}.scan-export-card{padding:12px}.scan-pages-card{padding:10px;position:sticky;top:78px}.scan-preview-card{overflow:hidden;position:sticky;top:78px}
.scan-section-heading,.scan-subsection-title{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;margin-bottom:10px}.scan-section-heading>span,.scan-subsection-title>span{display:grid;gap:2px;min-width:0}.scan-section-heading b,.scan-subsection-title b{font-size:12px;color:#1e324d;line-height:1.25}.scan-section-heading small,.scan-subsection-title small{font-size:9.5px;color:#72839a;line-height:1.35}.scan-status-dot{width:9px;height:9px;border-radius:50%;background:#20ad5b;box-shadow:0 0 0 4px #eaf8ef;margin:4px 3px 0 0}
.scan-source-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.scan-source-switch button{height:58px;border:1px solid #dbe4ee;border-radius:10px;background:#fff;color:#405875;display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;font-weight:800;cursor:pointer;touch-action:manipulation;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .1s ease}.scan-source-switch button svg{width:18px;height:18px}.scan-source-switch button.active,.scan-source-switch button:focus-visible{border-color:#1768ef;background:#f2f7ff;color:#0f5bda;box-shadow:0 0 0 2px rgba(23,104,239,.06)}.scan-source-switch button:active{transform:scale(.985)}
.scan-workspace-camera-stage{height:260px;min-height:220px;border-radius:11px;box-shadow:none}.scan-workspace-editor-stage{height:286px;min-height:240px;border-radius:11px;box-shadow:none}.scan-workspace-camera-stage .scan-document-guide{inset:7% 8%}.scan-workspace-camera-stage .scan-document-guide>span{font-size:8px;bottom:9px}
.scan-inline-actions{display:grid!important;gap:8px;margin-top:9px;padding:0!important;background:transparent!important;box-shadow:none!important;position:static!important}.scan-camera-actions.scan-inline-actions{grid-template-columns:1fr}.scan-review-actions.scan-inline-actions{grid-template-columns:.72fr 1.28fr}.scan-capture-page-btn,.scan-blue-btn,.scan-light-btn{min-height:42px;border-radius:9px;font:inherit;font-size:10px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;touch-action:manipulation}.scan-capture-page-btn,.scan-blue-btn{border:0;background:#1768ef;color:#fff;box-shadow:0 5px 12px rgba(23,104,239,.16)}.scan-light-btn{border:1px solid #dce5ef;background:#fff;color:#526983}.scan-capture-page-btn svg,.scan-blue-btn svg{width:15px;height:15px}.scan-capture-page-btn:disabled,.scan-blue-btn:disabled,.scan-light-btn:disabled{opacity:.55;cursor:not-allowed}
.scan-subsection-title{margin:2px 0 8px;padding-top:2px}.scan-detect-pill{flex:0 0 auto;padding:5px 7px;border-radius:999px;background:#eef3f8;color:#6b7d92!important;font-size:8px!important}.scan-detect-pill.good{background:#e9f8ef;color:#118047!important}.scan-detect-pill.warn{background:#fff5df;color:#986800!important}.scan-corner-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.scan-corner-buttons button{min-height:36px;border:1px solid #dce6f1;border-radius:8px;background:#fff;color:#1761cf;display:flex;align-items:center;justify-content:center;gap:6px;font-size:8.5px;font-weight:800;cursor:pointer}.scan-corner-buttons svg{width:13px;height:13px}.scan-edit-heading{margin-top:12px;padding-top:11px;border-top:1px solid #edf1f5}.scan-capture-card .scan-filter-bar{margin-top:0;gap:4px;padding:4px;border-radius:9px}.scan-capture-card .scan-filter-bar button{min-height:34px;border-radius:7px;font-size:9px}.scan-capture-card .scan-editor-tools{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:7px}.scan-capture-card .scan-editor-tools button{min-height:36px;border-radius:8px;font-size:8.5px;padding:0 6px;gap:5px}.scan-capture-card .scan-editor-tools svg{width:13px;height:13px}
.scan-workspace-name{display:grid;gap:5px;margin-bottom:9px}.scan-workspace-name>span{font-size:9px;font-weight:800;color:#536980}.scan-workspace-name>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid #dce5ef;border-radius:9px;overflow:hidden;background:#fff}.scan-workspace-name input{height:39px;border:0;outline:0;min-width:0;padding:0 10px;color:#223b59;font:inherit;font-size:10px}.scan-workspace-name b{padding:0 10px;font-size:9px;color:#78889c}.scan-workspace-name>div:focus-within{border-color:#7eadf5;box-shadow:0 0 0 3px rgba(23,104,239,.07)}
.scan-export-primary,.scan-export-secondary{width:100%;min-height:40px;border-radius:9px;display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:10px;font-weight:850;cursor:pointer;touch-action:manipulation}.scan-export-primary{border:0;background:#1768ef;color:#fff}.scan-export-secondary{margin-top:7px;border:1px solid #d8e3ee;background:#fff;color:#1761cf}.scan-export-secondary i{font-style:normal;font-size:8px;color:#8795a8;margin-left:auto}.scan-export-primary svg,.scan-export-secondary svg{width:15px;height:15px}.scan-export-primary:disabled,.scan-export-secondary:disabled{opacity:.48;cursor:not-allowed}.scan-export-primary.is-working{pointer-events:none;opacity:.72}
.scan-pages-card .scan-pages-head{margin:0 0 8px;padding:1px 1px 8px;border-bottom:1px solid #edf1f5}.scan-pages-card .scan-pages-head strong{font-size:11px;color:#223953}.scan-pages-card .scan-pages-head strong b{font:inherit}.scan-pages-card .scan-pages-head small{font-size:8px}.scan-pages-card .scan-pages-head button{font-size:8.5px;padding:5px 7px;border-radius:7px}.scan-pages-card .scan-pages-head button.active{background:#eaf2ff;color:#1768ef}.scan-pages-card .scan-pages-head button:disabled{opacity:.42;cursor:not-allowed}
.scan-pages-card .scan-page-strip{display:flex;flex-direction:column;gap:8px;overflow:visible;padding:0 0 6px}.scan-pages-card .scan-page-thumb{width:100%;height:auto;min-height:0;flex:none;overflow:visible;border:1px solid #dde5ee;border-radius:9px;background:#fff;padding:5px;cursor:pointer;display:grid;grid-template-columns:1fr;gap:5px;transition:border-color .14s ease,box-shadow .14s ease,transform .1s ease}.scan-pages-card .scan-page-thumb.selected{border-color:#1768ef;box-shadow:0 0 0 2px rgba(23,104,239,.10)}.scan-pages-card .scan-page-thumb:active{transform:scale(.99)}.scan-page-thumb-image{height:122px;position:relative;overflow:hidden;border-radius:6px;background:#eef2f6}.scan-page-thumb-image img{width:100%;height:100%;display:block;object-fit:contain;background:#f4f6f8}.scan-page-thumb-image>span{position:absolute;left:5px;top:5px;min-width:20px;height:20px;border-radius:999px;background:#1768ef;color:#fff;display:grid;place-items:center;font-size:8px;font-weight:900}.scan-pages-card .scan-page-thumb-image>button{position:absolute;right:5px;top:5px;bottom:auto;width:25px;height:25px;border:1px solid rgba(220,229,239,.8);border-radius:7px;background:rgba(255,255,255,.94);color:#60758e;display:grid;place-items:center;cursor:pointer}.scan-pages-card .scan-page-thumb-image>button svg{width:11px;height:11px}.scan-page-thumb-meta{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:0 2px}.scan-page-thumb-meta strong{font-size:8.5px;color:#344d69}.scan-page-thumb-meta small{font-size:7px;color:#8492a4;text-transform:capitalize}.scan-page-move{display:grid;grid-template-columns:1fr 1fr;gap:4px}.scan-pages-card .scan-page-move button{position:static;width:auto;height:27px;border:1px solid #dce5ef;border-radius:6px;background:#f8fafc;color:#536b85;font-size:12px;cursor:pointer}.scan-page-move button:disabled{opacity:.35}
.scan-add-page-card{width:100%;min-height:88px;border:1.5px dashed #9db5d4;border-radius:9px;background:#fbfdff;color:#1763d6;display:grid;place-items:center;align-content:center;gap:2px;cursor:pointer;touch-action:manipulation}.scan-add-page-card svg{width:18px;height:18px;margin-bottom:2px}.scan-add-page-card strong{font-size:9px}.scan-add-page-card small{font-size:7.5px;color:#75879c}
.scan-preview-head{min-height:50px;padding:10px 12px;border-bottom:1px solid #e8edf3;display:flex;align-items:center;justify-content:space-between;gap:10px}.scan-preview-head>span{display:grid;gap:2px}.scan-preview-head strong{font-size:12px;color:#213650}.scan-preview-head small{font-size:8.5px;color:#8090a3}.scan-preview-head small.ready{color:#118047;font-weight:800}.scan-preview-tools{display:flex;align-items:center;gap:5px}.scan-preview-tools button,.scan-preview-tools b{height:30px;min-width:30px;padding:0 8px;border:1px solid #dce5ef;border-radius:8px;background:#fff;color:#415a76;display:grid;place-items:center;font-size:10px;font-weight:800}.scan-preview-tools button{cursor:pointer}.scan-preview-tools b{min-width:48px;background:#f8fafc;font-size:8.5px}
.scan-preview-stage{height:min(61vh,630px);min-height:420px;overflow:auto;display:grid;place-items:center;padding:22px;background:#f4f6f8;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.scan-preview-stage>img{display:block;max-width:min(92%,720px);max-height:none;width:auto;height:auto;box-shadow:0 4px 16px rgba(0,0,0,.12);background:#fff;transform:scale(var(--scan-preview-zoom,1));transform-origin:center;transition:transform .12s ease;will-change:transform}.scan-preview-stage>img[hidden]{display:none!important}.scan-preview-empty{display:grid;justify-items:center;text-align:center;gap:5px;color:#7c8da1}.scan-preview-empty[hidden]{display:none!important}.scan-preview-empty>span{width:52px;height:52px;border-radius:14px;background:#eaf1f9;color:#7c91aa;display:grid;place-items:center}.scan-preview-empty svg{width:25px;height:25px}.scan-preview-empty strong{font-size:12px;color:#52677f}.scan-preview-empty small{max-width:260px;font-size:9px;line-height:1.45}
.scan-preview-info{display:grid;grid-template-columns:1.5fr .65fr .65fr;gap:8px;padding:10px 12px;border-top:1px solid #e6ecf3}.scan-preview-info>span{min-width:0;display:grid;gap:2px}.scan-preview-info small{font-size:7px;color:#8896a8}.scan-preview-info strong{font-size:8.5px;color:#405872;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scan-preview-actions{display:grid;grid-template-columns:auto auto auto minmax(150px,1fr);gap:7px;padding:10px 12px;border-top:1px solid #e6ecf3}.scan-preview-actions button{min-height:36px;border:1px solid #dce5ef;border-radius:8px;background:#fff;color:#516a84;padding:0 10px;font:inherit;font-size:8.5px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;touch-action:manipulation}.scan-preview-actions button svg{width:13px;height:13px}.scan-preview-actions button:disabled{opacity:.42;cursor:not-allowed}.scan-preview-actions .scan-merge-btn{border-color:#129653;background:#129653;color:#fff;font-size:9px}.scan-preview-actions .scan-merge-btn.is-working{opacity:.68;pointer-events:none}

@media(max-width:1180px){
  .scan-workspace-grid{grid-template-columns:minmax(280px,320px) minmax(135px,165px) minmax(320px,1fr);gap:10px;padding:10px}
  .scan-workspace-camera-stage{height:235px}.scan-workspace-editor-stage{height:255px}.scan-page-thumb-image{height:105px}.scan-preview-stage{min-height:380px}
  .scan-preview-actions{grid-template-columns:repeat(3,1fr)}.scan-preview-actions .scan-merge-btn{grid-column:1/-1}
}
@media(max-width:900px){
  .scan-workspace-head{top:0}.scan-workspace-grid{grid-template-columns:1fr;gap:10px;padding:10px}.scan-pages-card,.scan-preview-card{position:static}.scan-pages-column{order:2}.scan-preview-column{order:3}.scan-capture-column{order:1}
  .scan-pages-card .scan-page-strip{flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:8px;padding:1px 1px 7px;scroll-snap-type:x proximity}.scan-pages-card .scan-page-thumb{flex:0 0 126px;width:126px;scroll-snap-align:start}.scan-page-thumb-image{height:142px}.scan-add-page-card{min-height:82px}.scan-preview-stage{height:min(56vh,580px);min-height:360px}
}
@media(max-width:700px){
  .scan-document-page{margin:-2px 0 0}.scan-workspace-app{border-radius:14px}.scan-workspace-head{grid-template-columns:38px minmax(0,1fr) auto;padding:10px 10px}.scan-workspace-head .scan-head-copy h2{font-size:15px}.scan-workspace-head .scan-head-copy small{display:block;font-size:8.5px}.scan-workspace-grid{padding:8px;gap:8px}.scan-workspace-card{border-radius:11px}.scan-capture-card,.scan-export-card{padding:10px}.scan-section-heading b,.scan-subsection-title b{font-size:11px}.scan-section-heading small,.scan-subsection-title small{font-size:9px}
  .scan-source-switch button{height:54px;font-size:9.5px}.scan-workspace-camera-stage{height:min(47dvh,430px);min-height:280px}.scan-workspace-editor-stage{height:min(48dvh,440px);min-height:285px}.scan-corner-handle{width:38px;height:38px;margin:-19px 0 0 -19px}.scan-corner-loupe{width:78px;height:78px}
  .scan-pages-card{padding:9px}.scan-pages-card .scan-page-thumb{flex-basis:112px;width:112px;padding:4px}.scan-page-thumb-image{height:130px}.scan-add-page-card{min-height:76px}
  .scan-preview-head{padding:9px 10px;flex-wrap:wrap}.scan-preview-tools{width:100%;justify-content:flex-end}.scan-preview-stage{height:min(54dvh,520px);min-height:330px;padding:13px}.scan-preview-stage>img{max-width:96%}.scan-preview-info{grid-template-columns:1fr 1fr}.scan-preview-info>span:first-child{grid-column:1/-1}.scan-preview-actions{grid-template-columns:1fr 1fr;padding:9px 10px}.scan-preview-actions .scan-merge-btn{grid-column:1/-1;min-height:42px}.scan-preview-actions button{min-height:38px;font-size:9px}.scan-preview-actions button:nth-child(3){grid-column:1/-1}
}
@media(max-width:430px){
  .scan-workspace-head .scan-head-copy small{display:none}.scan-source-switch{gap:6px}.scan-source-switch button{height:50px;flex-direction:column;gap:3px;font-size:8.5px}.scan-source-switch button svg{width:16px;height:16px}.scan-workspace-camera-stage{height:43dvh;min-height:260px}.scan-workspace-editor-stage{height:44dvh;min-height:270px}.scan-corner-buttons button{font-size:7.8px;padding:0 4px}.scan-capture-card .scan-editor-tools button{font-size:8px}.scan-review-actions.scan-inline-actions{grid-template-columns:.7fr 1.3fr}.scan-page-thumb-image{height:124px}.scan-preview-stage{height:49dvh;min-height:300px}.scan-preview-tools button,.scan-preview-tools b{height:29px;min-width:29px}.scan-preview-tools b{min-width:45px}.scan-preview-info{padding:9px 10px}.scan-preview-actions{gap:6px}.scan-preview-actions button{padding:0 7px}.scan-export-secondary i{font-size:7px}
}
@media(max-height:680px) and (max-width:700px){.scan-workspace-camera-stage,.scan-workspace-editor-stage{height:40dvh;min-height:235px}.scan-preview-stage{height:43dvh;min-height:270px}}
@media(prefers-reduced-motion:reduce){.scan-source-switch button,.scan-pages-card .scan-page-thumb,.scan-preview-stage>img{transition:none}}
.scan-capture-card .scan-editor-tools{grid-template-columns:repeat(4,minmax(0,1fr))}.scan-capture-card .scan-editor-tools button{font-size:7.8px;padding:0 4px}.scan-capture-card .scan-editor-tools button[data-scan-rotate-left] svg{transform:scaleX(-1)}
@media(max-width:430px){.scan-capture-card .scan-editor-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.scan-capture-card .scan-editor-tools button{font-size:8.5px}}


/* =========================================================
   V54 — CamScanner-style launch + full-screen live edge camera
   ========================================================= */
body.scan-camera-open{overflow:hidden!important;overscroll-behavior:none}
.scan-camera-launch-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:9px}
.scan-camera-launcher{min-height:245px;border:1.5px dashed #9fc2ee;border-radius:14px;background:linear-gradient(180deg,#f8fbff,#f1f7ff);color:#1768ef;display:grid;place-items:center;align-content:center;gap:8px;padding:22px;cursor:pointer;touch-action:manipulation;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.scan-camera-launcher:hover{border-color:#5f9ff2;box-shadow:0 10px 26px rgba(23,104,239,.10)}.scan-camera-launcher:active{transform:scale(.992)}
.scan-camera-launch-icon{width:68px;height:68px;border-radius:22px;background:#1768ef;color:#fff;display:grid;place-items:center;box-shadow:0 12px 26px rgba(23,104,239,.22)}.scan-camera-launch-icon svg{width:31px;height:31px}
.scan-camera-launcher strong{font-size:13px;color:#203a59}.scan-camera-launcher small{max-width:220px;font-size:9px;line-height:1.45;color:#71869e;text-align:center}
.scan-photo-launcher{width:90px;border:1px solid #dce7f2;border-radius:14px;background:#fff;color:#5c7189;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:8.5px;font-weight:850;cursor:pointer;touch-action:manipulation}.scan-photo-launcher svg{width:21px;height:21px;color:#1768ef}.scan-photo-launcher:active{background:#f5f9ff}
.scan-live-camera{position:fixed;inset:0;z-index:100000;background:#000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:#fff;touch-action:none;overscroll-behavior:none}
.scan-live-camera[hidden]{display:none!important}
.scan-live-topbar{min-height:64px;padding:calc(10px + env(safe-area-inset-top,0px)) 13px 10px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;background:#050607;border-bottom:1px solid rgba(255,255,255,.08)}
.scan-live-topbar>button,.scan-live-top-actions button{width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.09);color:#fff;display:grid;place-items:center;cursor:pointer}.scan-live-topbar svg,.scan-live-top-actions svg{width:19px;height:19px}.scan-live-topbar>div:nth-child(2){display:grid;justify-items:center;gap:2px;min-width:0}.scan-live-topbar strong{font-size:13px}.scan-live-topbar small{font-size:8px;color:#aeb6c0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}.scan-live-top-actions{display:flex;gap:6px}.scan-live-top-actions button.active{background:#fff;color:#111}
.scan-live-stage{position:relative;min-height:0;overflow:hidden;background:#000;display:grid;place-items:center;contain:layout paint}.scan-live-stage video{width:100%;height:100%;display:block;object-fit:contain;background:#000}
.scan-live-edge-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.scan-live-edge-svg polygon{fill:rgba(34,230,201,.07);stroke:#22e6c9;stroke-width:3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 4px rgba(0,0,0,.65))}.scan-live-edge-svg circle{fill:#fff;stroke:#22e6c9;stroke-width:3;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}
.scan-live-status{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);max-width:min(88%,390px);padding:8px 12px;border-radius:999px;background:rgba(8,12,15,.78);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px;font-weight:800;white-space:nowrap;box-shadow:0 5px 18px rgba(0,0,0,.22)}.scan-live-status i{width:7px;height:7px;border-radius:50%;background:#f4b63e;box-shadow:0 0 0 4px rgba(244,182,62,.13)}.scan-live-status.locked i{background:#22e6c9;box-shadow:0 0 0 4px rgba(34,230,201,.14)}.scan-live-status.near i{background:#8fd3ff;box-shadow:0 0 0 4px rgba(143,211,255,.13)}
.scan-live-bottom{min-height:118px;padding:16px 24px calc(16px + env(safe-area-inset-bottom,0px));background:#050607;display:grid;grid-template-columns:1fr 96px 1fr;align-items:center;gap:12px;border-top:1px solid rgba(255,255,255,.08)}
.scan-live-gallery{justify-self:start;width:46px;height:46px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer}.scan-live-gallery svg{width:20px;height:20px}
.scan-live-shutter{justify-self:center;width:82px;height:82px;border:4px solid #22e6c9;border-radius:50%;background:transparent;padding:6px;display:grid;place-items:center;cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 26px rgba(34,230,201,.08);transition:transform .1s ease}.scan-live-shutter i{width:100%;height:100%;border-radius:50%;background:#fff;display:block}.scan-live-shutter:active,.scan-live-shutter.is-capturing{transform:scale(.92)}.scan-live-shutter:disabled{opacity:.55}
.scan-live-mode{justify-self:end;display:grid;justify-items:center;gap:2px;min-width:56px}.scan-live-mode b{font-size:10px;letter-spacing:.12em;color:#22e6c9}.scan-live-mode small{font-size:7.5px;color:#9ca6b2}
.scan-live-camera .scan-camera-message{background:#050607}.scan-live-camera .scan-camera-message strong{font-size:15px}.scan-live-camera .scan-mini-spinner{border-top-color:#22e6c9}
.scan-filter-bar{grid-template-columns:repeat(4,minmax(0,1fr))}.scan-filter-bar button[data-scan-filter="document"].active{background:#0f9f84}
@media(max-width:700px){.scan-camera-launch-wrap{grid-template-columns:1fr}.scan-camera-launcher{min-height:230px}.scan-photo-launcher{width:100%;height:52px;flex-direction:row}.scan-live-topbar{min-height:60px}.scan-live-bottom{min-height:112px;padding-left:18px;padding-right:18px;grid-template-columns:1fr 88px 1fr}.scan-live-shutter{width:78px;height:78px}}
@media(max-width:430px){.scan-camera-launcher{min-height:210px;border-radius:12px}.scan-camera-launch-icon{width:62px;height:62px;border-radius:20px}.scan-live-status{bottom:12px;font-size:8px}.scan-live-topbar small{display:none}.scan-live-bottom{min-height:106px}.scan-live-mode small{display:none}}
@media(prefers-reduced-motion:reduce){.scan-camera-launcher,.scan-live-shutter{transition:none}}

/* =========================================================
   V56 — Scanner startup animation + low-end mobile runtime polish
   ========================================================= */
.scan-startup-loader{position:fixed;inset:0;z-index:100500;display:grid;place-items:center;padding:22px;background:rgba(5,9,14,.72);backdrop-filter:blur(8px);opacity:0;transition:opacity .12s ease;pointer-events:none}
.scan-startup-loader[hidden]{display:none!important}.scan-startup-loader.show{opacity:1}
.scan-startup-card{width:min(86vw,280px);min-height:180px;border-radius:22px;background:#fff;color:#16304d;display:grid;justify-items:center;align-content:center;gap:8px;padding:22px 18px;box-shadow:0 18px 54px rgba(0,0,0,.28)}
.scan-startup-card strong{font-size:14px;font-weight:900}.scan-startup-card small{font-size:9px;color:#70849a;text-align:center;line-height:1.45}
.scan-startup-mark{position:relative;width:76px;height:76px;margin-bottom:5px}.scan-startup-mark>span{position:absolute;inset:15px;border-radius:18px;background:#1768ef;color:#fff;display:grid;place-items:center;box-shadow:0 9px 20px rgba(23,104,239,.22)}.scan-startup-mark svg{width:24px;height:24px}
.scan-startup-mark>i{position:absolute;width:21px;height:21px;border-color:#22cdb1;border-style:solid;animation:scanStartupCorners 1.05s ease-in-out infinite}.scan-startup-mark>i:nth-child(1){left:0;top:0;border-width:3px 0 0 3px;border-radius:8px 0 0 0}.scan-startup-mark>i:nth-child(2){right:0;top:0;border-width:3px 3px 0 0;border-radius:0 8px 0 0;animation-delay:.08s}.scan-startup-mark>i:nth-child(3){right:0;bottom:0;border-width:0 3px 3px 0;border-radius:0 0 8px 0;animation-delay:.16s}.scan-startup-mark>i:nth-child(4){left:0;bottom:0;border-width:0 0 3px 3px;border-radius:0 0 0 8px;animation-delay:.24s}
@keyframes scanStartupCorners{0%,100%{transform:scale(.84);opacity:.45}50%{transform:scale(1.08);opacity:1}}

.scan-camera-loader-mark{position:relative;width:54px;height:54px;display:block;margin-bottom:2px}.scan-camera-loader-mark>i{position:absolute;width:15px;height:15px;border-color:#22e6c9;border-style:solid;animation:scanCameraCorners .95s ease-in-out infinite}.scan-camera-loader-mark>i:nth-child(1){left:0;top:0;border-width:2px 0 0 2px}.scan-camera-loader-mark>i:nth-child(2){right:0;top:0;border-width:2px 2px 0 0;animation-delay:.07s}.scan-camera-loader-mark>i:nth-child(3){right:0;bottom:0;border-width:0 2px 2px 0;animation-delay:.14s}.scan-camera-loader-mark>i:nth-child(4){left:0;bottom:0;border-width:0 0 2px 2px;animation-delay:.21s}.scan-camera-loader-mark>b{position:absolute;left:8px;right:8px;height:2px;top:50%;background:#22e6c9;box-shadow:0 0 8px rgba(34,230,201,.65);animation:scanCameraBeam 1.1s ease-in-out infinite}
@keyframes scanCameraCorners{0%,100%{transform:scale(.88);opacity:.45}50%{transform:scale(1.08);opacity:1}}@keyframes scanCameraBeam{0%,100%{transform:translateY(-15px);opacity:.35}50%{transform:translateY(15px);opacity:1}}

/* Keep the camera UI responsive on low-memory / low-core phones. Heavy visual effects are removed,
   while edge detection continues in the worker at a smaller analysis resolution. */
body.scan-low-power .scan-live-status{backdrop-filter:none;background:rgba(8,12,15,.90);box-shadow:none}
body.scan-low-power .scan-live-edge-svg polygon,body.scan-low-power .scan-live-edge-svg circle{filter:none}
body.scan-low-power .scan-live-shutter{box-shadow:none}
body.scan-low-power .scan-camera-launcher:hover{box-shadow:none}
body.scan-low-power .scan-startup-loader{backdrop-filter:none;background:rgba(5,9,14,.84)}
body.scan-very-low-power .scan-live-edge-svg polygon{stroke-width:2.5;fill:rgba(34,230,201,.045)}
body.scan-very-low-power .scan-live-edge-svg circle{stroke-width:2.5}
body.scan-very-low-power .scan-live-status{padding:7px 10px}
body.scan-very-low-power .scan-live-topbar,body.scan-very-low-power .scan-live-bottom{box-shadow:none}

@media(max-width:430px){.scan-startup-card{min-height:164px;border-radius:19px}.scan-startup-mark{width:68px;height:68px}.scan-startup-mark>span{inset:14px;border-radius:16px}.scan-camera-loader-mark{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.scan-startup-loader{transition:none}.scan-startup-mark>i,.scan-camera-loader-mark>i,.scan-camera-loader-mark>b{animation:none}}


/* V59 — transparent location permission consent + public privacy page */
.location-consent-backdrop{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:18px;background:rgba(8,20,39,.62);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}.location-consent-backdrop[hidden]{display:none!important}.location-consent-card{width:min(470px,100%);border:1px solid #dce6f3;border-radius:20px;background:#fff;box-shadow:0 30px 90px rgba(7,25,55,.32);padding:25px 24px 21px;color:#53647b;text-align:left}.location-consent-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#eaf2ff,#f1f8ff);color:#1768ef;box-shadow:inset 0 0 0 1px #d7e5fa;margin-bottom:12px}.location-consent-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.location-consent-kicker{display:block;color:#1768ef;font-size:8.8px;font-weight:900;letter-spacing:.12em;margin-bottom:5px}.location-consent-card h2{margin:0;color:#152d4e;font-size:20px;line-height:1.25}.location-consent-card>p{margin:9px 0 0;font-size:11px;line-height:1.62;color:#64748a}.location-consent-points{display:grid;gap:7px;margin:14px 0;padding:12px;border:1px solid #e1e9f4;border-radius:12px;background:#f8fbff}.location-consent-points span{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:start;color:#52657f;font-size:10px;line-height:1.45}.location-consent-points b{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;background:#e4f6eb;color:#14834b;font-size:9px}.location-consent-card .location-consent-si{padding:10px 11px;border-radius:10px;background:#f7f9fc;color:#607089}.location-consent-link{display:inline-flex;margin-top:11px;color:#1768ef;font-size:10px;font-weight:800;text-decoration:none}.location-consent-link:hover{text-decoration:underline}.location-consent-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:17px}.location-consent-actions button{min-height:43px;border:1px solid #d7e1ee;border-radius:10px;background:#fff;color:#51647f;font-size:10.5px;font-weight:850;cursor:pointer}.location-consent-actions button.primary{border-color:#1768ef;background:#1768ef;color:#fff}.location-consent-card>small{display:block;margin-top:9px;text-align:center;color:#8995a6;font-size:8.6px;line-height:1.4}body.location-consent-open{overflow:hidden}.agreement-foot-copy{display:grid;gap:4px}.agreement-foot-copy a{width:max-content;max-width:100%;color:#1768ef;font-size:9.4px;font-weight:800;text-decoration:none}.agreement-foot-copy a:hover{text-decoration:underline}
.privacy-body{margin:0;min-height:100vh;background:#f5f8fc;color:#223651;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.privacy-shell{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:24px 0 50px}.privacy-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.privacy-topbar img{width:150px;max-height:46px;object-fit:contain;object-position:left center}.privacy-nav{display:flex;align-items:center;gap:8px}.privacy-nav a{min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border:1px solid #dce5f0;border-radius:9px;background:#fff;color:#496079;font-size:10px;font-weight:800;text-decoration:none}.privacy-nav a.primary{border-color:#1768ef;background:#1768ef;color:#fff}.privacy-hero{border:1px solid #dfe7f1;border-radius:22px;background:linear-gradient(145deg,#fff,#f6faff);box-shadow:0 18px 55px rgba(19,53,95,.08);padding:34px;margin-bottom:16px}.privacy-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;background:#eaf2ff;color:#1768ef;font-size:8.5px;font-weight:900;letter-spacing:.08em}.privacy-hero h1{margin:12px 0 7px;font-size:30px;line-height:1.15;color:#132c4d}.privacy-hero p{max-width:780px;margin:0;color:#60728a;font-size:12px;line-height:1.7}.privacy-effective{margin-top:14px;color:#8190a3;font-size:9.5px;font-weight:700}.privacy-lang-tabs{display:flex;gap:7px;margin:14px 0}.privacy-lang-tabs button{min-height:38px;padding:0 16px;border:1px solid #dce5f0;border-radius:10px;background:#fff;color:#60728a;font-size:10.5px;font-weight:850;cursor:pointer}.privacy-lang-tabs button.active{border-color:#cfe0fa;background:#eaf2ff;color:#1768ef}.privacy-card{border:1px solid #dfe7f1;border-radius:18px;background:#fff;padding:28px 30px;box-shadow:0 12px 35px rgba(18,50,90,.05)}.privacy-copy[hidden]{display:none!important}.privacy-callout{padding:15px 16px;border:1px solid #d9e7fa;border-radius:12px;background:#f6faff;color:#4d607a;font-size:11px;line-height:1.65}.privacy-callout strong{display:block;color:#173b69;margin-bottom:3px}.privacy-copy h2{margin:24px 0 6px;color:#17314f;font-size:14px}.privacy-copy p,.privacy-copy li{color:#5a6b82;font-size:11px;line-height:1.72}.privacy-copy p{margin:0}.privacy-copy ul{margin:8px 0 0;padding-left:20px}.privacy-location-box{margin-top:12px;padding:14px 15px;border:1px solid #d9eadf;border-radius:12px;background:#f7fcf9}.privacy-location-box strong{display:block;color:#1d6e47;font-size:11px;margin-bottom:4px}.privacy-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 4px 0;color:#8996a7;font-size:9px}.privacy-footer a{color:#1768ef;text-decoration:none;font-weight:800}
@media(max-width:620px){.location-consent-backdrop{place-items:end center;padding:0}.location-consent-card{width:100%;border-radius:20px 20px 0 0;border-bottom:0;padding:20px 16px calc(16px + env(safe-area-inset-bottom))}.location-consent-card h2{font-size:18px}.location-consent-actions{grid-template-columns:1fr 1.25fr}.agreement-foot-copy a{margin:0 auto}.privacy-shell{width:min(100% - 20px,1040px);padding-top:12px}.privacy-topbar{align-items:flex-start}.privacy-topbar img{width:118px}.privacy-nav a:not(.primary){display:none}.privacy-hero{padding:23px 18px;border-radius:18px}.privacy-hero h1{font-size:23px}.privacy-card{padding:20px 17px;border-radius:16px}.privacy-lang-tabs button{flex:1}.privacy-footer{display:grid;text-align:center;justify-items:center}.agreement-modal-foot .agreement-foot-copy{text-align:center}}


/* V60 — English-only, mobile-first location consent sheet */
.location-consent-card{box-sizing:border-box;max-height:min(720px,calc(100dvh - 36px));overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.location-consent-card .location-consent-intro{font-size:12.5px;line-height:1.6;color:#5b6e87}
.location-consent-points{gap:9px;padding:13px}
.location-consent-points span{font-size:11.5px;line-height:1.5;grid-template-columns:20px minmax(0,1fr);gap:8px}
.location-consent-points span>span{display:block;color:#52657f}
.location-consent-points span>span strong{color:#2c425e;font-weight:850}
.location-consent-points b{width:19px;height:19px;font-size:10px}
.location-consent-link{font-size:11px;min-height:30px;align-items:center}
.location-consent-actions button{min-height:48px;font-size:12px;border-radius:12px;touch-action:manipulation}
.location-consent-card>small{font-size:9.5px;line-height:1.5;padding:0 4px}
@media(max-width:620px){
  .location-consent-backdrop{align-items:end;justify-items:stretch;padding:0;background:rgba(8,20,39,.58)}
  .location-consent-card{width:100%;max-height:min(88dvh,760px);border-radius:22px 22px 0 0;padding:19px 17px calc(17px + env(safe-area-inset-bottom));box-shadow:0 -18px 60px rgba(7,25,55,.25)}
  .location-consent-icon{width:48px;height:48px;border-radius:14px;margin-bottom:10px}
  .location-consent-icon svg{width:24px;height:24px}
  .location-consent-kicker{font-size:9px;margin-bottom:6px}
  .location-consent-card h2{font-size:19px;line-height:1.25;padding-right:2px}
  .location-consent-card .location-consent-intro{margin-top:8px;font-size:12.5px;line-height:1.55}
  .location-consent-points{margin:12px 0;padding:12px;gap:9px}
  .location-consent-points span{font-size:11.5px;line-height:1.45}
  .location-consent-link{margin-top:2px;font-size:11px}
  .location-consent-actions{grid-template-columns:1fr 1.15fr;gap:9px;margin-top:13px;position:sticky;bottom:0;background:#fff;padding-top:5px}
  .location-consent-actions button{min-height:50px;font-size:12.5px}
  .location-consent-card>small{margin-top:8px;font-size:9.5px}
}
@media(max-width:360px){
  .location-consent-card{padding-left:14px;padding-right:14px}
  .location-consent-card h2{font-size:18px}
  .location-consent-points span{font-size:11px}
  .location-consent-actions{grid-template-columns:1fr 1fr}
}
@media(max-height:620px) and (max-width:620px){
  .location-consent-card{max-height:94dvh;padding-top:14px}
  .location-consent-icon{width:42px;height:42px;margin-bottom:8px}
  .location-consent-points{margin:9px 0}
}


/* V65 — PDF / image / video-only private preview. Direct signed media URLs avoid
   full Blob copies in RAM and let browsers use range requests on low-end devices. */
.preview-modal .preview-shell{position:relative;min-height:0;background:#0d1420;border-color:#dce4ef;contain:layout paint}
.preview-modal .preview-image-shell{background:#eef2f6;padding:12px}
.preview-modal .preview-image{display:block;max-width:100%;max-height:calc(100dvh - 210px);width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 8px 24px rgba(14,31,53,.12)}
.preview-modal .preview-video-shell{background:#080b10;padding:0;min-height:300px}
.preview-modal .preview-video{display:block;width:100%;height:100%;max-height:calc(100dvh - 210px);min-height:280px;object-fit:contain;background:#000;outline:0}
.preview-modal .preview-video-shell.has-media-error .preview-video{display:none}
.preview-media-error{display:grid;gap:7px;text-align:center;max-width:420px;padding:28px;color:#b8c4d2}
.preview-media-error strong{color:#fff;font-size:13px}.preview-media-error span{font-size:10px;line-height:1.6}
.preview-modal .preview-pdf-shell{background:#eef2f6;display:block;min-height:520px}
.preview-pdf-frame{display:block;width:100%;height:100%;min-height:520px;border:0;background:#fff}
.preview-pdf-fallback{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid rgba(210,220,232,.9);border-radius:10px;background:rgba(255,255,255,.94);box-shadow:0 6px 18px rgba(21,48,82,.12);backdrop-filter:blur(8px);color:#63758b;font-size:9px;max-width:420px}
.preview-pdf-fallback strong{color:#263d59}.preview-pdf-fallback button{height:30px;border:0;border-radius:8px;background:#176bf1;color:#fff;padding:0 10px;font:inherit;font-weight:800;cursor:pointer;white-space:nowrap}
@media(max-width:700px){
  .preview-modal .preview-shell{border-radius:10px}
  .preview-modal .preview-image-shell{padding:8px}
  .preview-modal .preview-image{max-height:calc(100dvh - 185px)}
  .preview-modal .preview-video-shell{min-height:220px}
  .preview-modal .preview-video{min-height:220px;max-height:calc(100dvh - 185px)}
  .preview-modal .preview-pdf-shell{min-height:calc(100dvh - 188px)}
  .preview-pdf-frame{min-height:calc(100dvh - 188px)}
  .preview-pdf-fallback{left:8px;right:8px;bottom:8px;max-width:none;justify-content:space-between;gap:6px;font-size:8.5px}
  .preview-pdf-fallback span{display:none}
}
@media(max-width:420px){
  .preview-modal{padding:14px 9px}
  .preview-modal .modal-actions{gap:7px}
  .preview-modal .modal-actions .modal-button{min-height:42px}
  .preview-modal .preview-video{min-height:190px}
}
@media(max-height:650px) and (max-width:700px){
  .preview-modal .preview-video{min-height:170px;max-height:calc(100dvh - 165px)}
  .preview-modal .preview-pdf-shell,.preview-pdf-frame{min-height:calc(100dvh - 168px)}
}
@media(prefers-reduced-motion:reduce){.preview-modal *{scroll-behavior:auto!important}}

/* V69 — Shared Links control center */
.shared-links-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 13px;background:#f7faff;border-bottom:1px solid #e6edf6}
.shared-overview-card{min-width:0;display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e0e8f3;border-radius:11px;background:#fff;box-shadow:0 2px 8px rgba(38,64,99,.035)}
.shared-overview-card>span{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto}.shared-overview-card>span svg{width:16px;height:16px}.shared-overview-card.active>span{background:#e9f8ef;color:#118648}.shared-overview-card.recent>span{background:#f1f4f8;color:#687a91}.shared-overview-card.views>span{background:#edf4ff;color:#1768ef}.shared-overview-card small{display:block;font-size:9px;color:#75839a;font-weight:700;text-transform:uppercase;letter-spacing:.32px}.shared-overview-card strong{display:block;margin-top:2px;font-size:17px;line-height:1;color:#20344f}
.shared-links-list{display:grid;gap:0;background:#f8fbff}.share-link-group{padding:13px}.share-link-group+.share-link-group{border-top:1px solid #e2eaf4}.share-link-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.share-link-group-heading>div{display:flex;align-items:center;gap:9px;min-width:0}.share-group-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;flex:0 0 auto}.share-group-icon svg{width:15px;height:15px}.share-group-icon.active{background:#e9f8ef;color:#118648}.share-group-icon.recent{background:#eef2f6;color:#68788d}.share-link-group-heading strong{display:block;font-size:11.6px;color:#223750}.share-link-group-heading small{display:block;margin-top:2px;font-size:9.3px;color:#79879a}.share-link-group-heading>b{min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:#edf3fa;color:#486078;display:grid;place-items:center;font-size:10px}.share-link-card-list{display:grid;gap:9px}.share-group-empty{padding:18px;border:1px dashed #d7e1ec;border-radius:10px;background:#fff;color:#7b899b;text-align:center;font-size:10.5px}
.share-link-card{border:1px solid #dfe7f1;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 2px 9px rgba(35,61,96,.035)}.share-link-card.is-active{border-color:#d7e8df}.share-link-card-main{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 11px 8px}.share-link-card .share-link-file{min-width:0}.share-link-card .share-link-file>span{width:36px;height:36px;border-radius:10px}.share-link-card .share-link-file strong{font-size:11.4px}.share-link-card .share-link-file small{font-size:9.4px}.share-link-top-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}.share-link-icon-button{width:34px;height:34px;padding:0;border:1px solid #dce5f0;border-radius:9px;background:#fff;color:#536a84;display:grid;place-items:center;cursor:pointer;transition:.16s ease}.share-link-icon-button svg{width:15px;height:15px}.share-link-icon-button:hover{background:#f4f8fd;color:#1768ef;border-color:#bdd3f3}.share-link-icon-button.settings{background:#f2f6fb;color:#425c77}.share-link-icon-button.settings:hover{background:#eaf2fd;color:#1768ef}
.share-link-status-line{display:flex;align-items:center;gap:8px;padding:0 11px 9px}.share-expiry-countdown{display:inline-flex;align-items:center;gap:5px;min-width:0;color:#2f6a4d;font-size:9.6px;font-weight:750}.share-expiry-countdown svg{width:13px;height:13px;flex:0 0 auto}.share-expiry-countdown.expired{color:#7a8797}.share-link-details-grid{display:grid;grid-template-columns:minmax(190px,1.35fr) 70px minmax(150px,1fr);border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6;background:#fbfdff}.share-link-detail{min-width:0;padding:9px 11px;border-right:1px solid #edf1f6}.share-link-detail:last-child{border-right:0}.share-link-detail span{display:block;font-size:8.3px;color:#8a96a7;text-transform:uppercase;letter-spacing:.35px;font-weight:750}.share-link-detail strong{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#344a63;font-size:9.8px;font-weight:750}.share-link-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:8px 10px}.share-link-card-actions button{height:32px;border:1px solid #dbe4ef;border-radius:8px;background:#fff;color:#405a76;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:9.4px;font-weight:750;cursor:pointer}.share-link-card-actions button svg{width:13px;height:13px}.share-link-card-actions button:hover{background:#f2f6fb}.share-link-card-actions .share-link-manage-button{background:#f5f8fc}.share-link-card-actions button.danger{color:#cf3b47}.shared-links-empty{display:grid;justify-items:center;gap:6px;padding:34px 18px}.shared-links-empty>span{width:42px;height:42px;border-radius:12px;background:#eef4fb;color:#627a96;display:grid;place-items:center}.shared-links-empty>span svg{width:20px;height:20px}.shared-links-empty strong{font-size:12px;color:#324963}.shared-links-empty small{max-width:470px;font-size:9.8px;line-height:1.5;color:#7a8799}

.share-settings-modal{width:min(660px,100%)}.share-settings-shell{display:grid;gap:11px}.share-settings-file{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #e0e8f2;border-radius:11px;background:#fbfdff}.share-settings-file>span{width:42px;height:42px;border-radius:10px;background:#edf4ff;color:#1768ef;display:grid;place-items:center}.share-settings-file>span svg{width:18px;height:18px}.share-settings-file>div{min-width:0}.share-settings-file>div strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11.5px;color:#263c57}.share-settings-file>div small{display:block;margin-top:3px;font-size:9.4px;color:#7b889a}.share-settings-file>i{font-style:normal}.share-settings-expiry{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;padding:11px 12px;border-radius:11px}.share-settings-expiry>span{width:38px;height:38px;border-radius:10px;display:grid;place-items:center}.share-settings-expiry>span svg{width:17px;height:17px}.share-settings-expiry.active{background:#edf9f2;border:1px solid #d4efdf}.share-settings-expiry.active>span{background:#dff4e8;color:#118648}.share-settings-expiry.expired{background:#f5f7fa;border:1px solid #e2e7ee}.share-settings-expiry.expired>span{background:#eaedf2;color:#718096}.share-settings-expiry small{display:block;font-size:8.6px;text-transform:uppercase;letter-spacing:.35px;color:#78879a;font-weight:800}.share-settings-expiry strong{display:block;margin-top:2px;font-size:13px;color:#2a465f}.share-settings-expiry em{display:block;margin-top:2px;font-style:normal;font-size:9.3px;color:#75849a}.share-settings-link{display:grid;gap:6px}.share-settings-link>label{font-size:9px;text-transform:uppercase;letter-spacing:.35px;color:#62748b;font-weight:800}.share-settings-link>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.share-settings-link input{min-width:0;height:42px;border:1px solid #dbe4ef;border-radius:9px;background:#f8fafc;padding:0 10px;color:#52677f;font-size:10px;outline:0}.share-settings-link button{height:42px;border:1px solid #d6e2ef;border-radius:9px;background:#fff;color:#3f5d7b;padding:0 11px;display:flex;align-items:center;justify-content:center;gap:5px;font-size:9.7px;font-weight:800;cursor:pointer}.share-settings-link button svg{width:14px;height:14px}.share-settings-link button:hover{background:#eef5fd;color:#1768ef}.share-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.share-settings-grid>div{min-width:0;padding:10px 11px;border:1px solid #e2e9f2;border-radius:10px;background:#fff}.share-settings-grid span{display:block;font-size:8.4px;text-transform:uppercase;letter-spacing:.35px;color:#8793a5;font-weight:800}.share-settings-grid strong{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#354c66}.share-settings-note{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;padding:10px 11px;border:1px solid #dfe8f3;border-radius:10px;background:#f7faff;color:#64758a;font-size:9.5px;line-height:1.45}.share-settings-note svg{width:16px;height:16px;color:#5275a0}

@media(max-width:700px){
  .shared-links-heading{padding:11px 10px}.shared-links-heading strong{font-size:11.5px}.shared-links-heading small{max-width:240px;line-height:1.4}
  .shared-links-overview{grid-template-columns:1fr 1fr;padding:10px;gap:8px}.shared-overview-card{padding:9px}.shared-overview-card.views{grid-column:1/-1}.shared-overview-card>span{width:31px;height:31px}.shared-overview-card strong{font-size:15px}
  .share-link-group{padding:11px 9px}.share-link-group-heading{margin-bottom:8px}.share-link-group-heading small{white-space:normal;line-height:1.35}.share-link-card-main{padding:10px 9px 7px}.share-link-card .share-link-file>span{width:34px;height:34px}.share-link-card .share-link-file strong{font-size:10.8px}.share-link-card .share-link-file small{font-size:8.9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:205px}.share-link-icon-button{width:32px;height:32px}.share-link-top-actions .share-link-icon-button:not(.settings){display:none}
  .share-link-status-line{padding:0 9px 8px;flex-wrap:wrap}.share-expiry-countdown{font-size:9.3px}.share-link-details-grid{grid-template-columns:1fr 72px}.share-link-detail{padding:8px 9px}.share-link-detail:nth-child(3){grid-column:1/-1;border-right:0;border-top:1px solid #edf1f6}.share-link-detail strong{font-size:9.4px}.share-link-card-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;padding:8px 9px}.share-link-card-actions button{width:100%;height:36px;font-size:9.5px;padding:0 7px}.share-link-card-actions button.danger{width:auto;min-width:66px}
  .share-settings-modal{width:100%}.share-settings-shell{gap:9px}.share-settings-file{grid-template-columns:38px minmax(0,1fr) auto;padding:9px}.share-settings-file>span{width:38px;height:38px}.share-settings-link>div{grid-template-columns:minmax(0,1fr) auto}.share-settings-link button#shareSettingsOpen{grid-column:1/-1}.share-settings-link input{height:44px;font-size:10px}.share-settings-link button{height:44px}.share-settings-grid{grid-template-columns:1fr}.share-settings-grid>div{padding:9px 10px}
}
@media(max-width:390px){.shared-links-overview{grid-template-columns:1fr}.shared-overview-card.views{grid-column:auto}.share-link-card-actions{grid-template-columns:1fr 1fr}.share-link-card.is-active .share-link-card-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.share-link-card-actions button{min-width:0;padding-inline:5px}.share-link-card-actions button.danger{width:100%;min-width:0}.share-link-details-grid{grid-template-columns:1fr}.share-link-detail,.share-link-detail:nth-child(3){grid-column:auto;border-right:0;border-top:1px solid #edf1f6}.share-link-detail:first-child{border-top:0}.share-settings-file{grid-template-columns:36px minmax(0,1fr)}.share-settings-file>i{grid-column:2}.share-settings-link>div{grid-template-columns:1fr}.share-settings-link button{width:100%}}

/* V71 — Profile Settings account control center (Preferences section intentionally omitted) */
.profile-control-center-modal{width:min(720px,100%)}
.profile-control-center-modal #modalBody{overflow-x:hidden}
.profile-settings-panel{border:1px solid #e1e9f4;border-radius:14px;background:#fff;overflow:hidden}
.profile-setting-row,.profile-action-row,.profile-delete-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;min-height:64px;padding:11px 13px;border:0;border-bottom:1px solid #edf2f8;background:#fff;text-align:left;width:100%}
.profile-setting-row:last-child,.profile-action-row:last-child,.profile-delete-row:last-child{border-bottom:0}
.profile-setting-icon{width:42px;height:42px;border-radius:12px;background:#eef5ff;color:#1768ef;display:grid;place-items:center;flex:0 0 auto}
.profile-setting-icon svg{width:20px;height:20px}
.profile-setting-row strong,.profile-action-row strong,.profile-delete-row strong{display:block;font-size:11.5px;color:#203650}
.profile-setting-row small,.profile-action-row small,.profile-delete-row small{display:block;margin-top:3px;font-size:9.5px;line-height:1.45;color:#7a899d}
.profile-action-row,.profile-delete-row{cursor:pointer;transition:background .16s ease,border-color .16s ease}
.profile-action-row:hover{background:#f8fbff}
.profile-action-row em,.profile-delete-row em{font-style:normal;min-width:62px;text-align:center;border:1px solid #d3e1f5;border-radius:9px;background:#f6f9ff;color:#1768ef;padding:8px 9px;font-size:9.5px;font-weight:800}
.profile-action-danger-soft em{color:#a44a38;border-color:#f0d8d0;background:#fff8f5}
.profile-switch{position:relative;width:42px;height:24px;display:block;cursor:pointer;flex:0 0 auto}
.profile-switch input{position:absolute;opacity:0;pointer-events:none}
.profile-switch span{position:absolute;inset:0;border-radius:999px;background:#d9e2ef;transition:background .16s ease}
.profile-switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(27,49,80,.18);transition:transform .16s ease}
.profile-switch input:checked+span{background:#1768ef}
.profile-switch input:checked+span:after{transform:translateX(18px)}
.profile-switch input:focus-visible+span{outline:3px solid rgba(23,104,239,.18);outline-offset:2px}
.profile-panel-note{display:block;margin-top:-7px;padding:0 2px;color:#8290a4;font-size:9px;line-height:1.45}
.profile-storage-card{border:1px solid #e1e9f4;border-radius:14px;background:linear-gradient(135deg,#f8fbff,#fff);padding:14px}
.profile-storage-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.profile-storage-top strong{display:block;color:#203650;font-size:12px}
.profile-storage-top small{display:block;margin-top:4px;color:#7a899d;font-size:9.5px}
.profile-storage-top b{font-size:12px;color:#1768ef}
.profile-storage-progress{height:7px;margin-top:12px;border-radius:999px;background:#e7eef8;overflow:hidden}
.profile-storage-progress span{display:block;height:100%;border-radius:inherit;background:#1768ef}
.profile-storage-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.profile-storage-actions button{min-height:38px;border:1px solid #d5e1f0;border-radius:10px;background:#fff;color:#405875;font-size:9.5px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}
.profile-storage-actions button:hover{background:#f4f8ff;border-color:#c5d9f6;color:#1768ef}
.profile-storage-actions svg{width:16px;height:16px}
.profile-account-panel{overflow:hidden}
.profile-account-meta{display:grid;grid-template-columns:1fr 1fr;gap:0;border-bottom:1px solid #edf2f8}
.profile-account-meta span{padding:12px 13px;min-width:0}
.profile-account-meta span+span{border-left:1px solid #edf2f8}
.profile-account-meta small{display:block;color:#8290a4;font-size:8.8px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.profile-account-meta strong{display:block;margin-top:5px;color:#304761;font-size:10px;line-height:1.4;overflow-wrap:anywhere}
.profile-delete-row{cursor:pointer;background:#fffafa}
.profile-delete-row .profile-setting-icon{background:#fff0ed;color:#b34b38}
.profile-delete-row strong{color:#8f382a}
.profile-delete-row em{color:#a13d2d;border-color:#efcfc8;background:#fff5f2}
.profile-delete-row:hover{background:#fff5f2}
.profile-delete-warning{display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;align-items:center;border:1px solid #f0d1ca;background:#fff7f5;border-radius:13px;padding:12px;margin-bottom:10px}
.profile-delete-warning>svg{width:21px;height:21px;color:#b34b38;margin:auto}
.profile-delete-warning strong{display:block;color:#8f382a;font-size:11.5px}
.profile-delete-warning small{display:block;margin-top:3px;color:#8c675f;font-size:9.5px;line-height:1.5}
.profile-delete-account-modal .modal-button.danger{background:#b54433;color:#fff;border-color:#b54433}

@media(max-width:700px){
  .profile-control-center-modal{width:100%;padding-left:15px;padding-right:15px}
  .profile-setting-row,.profile-action-row,.profile-delete-row{grid-template-columns:40px minmax(0,1fr) auto;gap:9px;padding:10px 11px;min-height:62px}
  .profile-setting-icon{width:40px;height:40px;border-radius:11px}
  .profile-action-row em,.profile-delete-row em{min-width:56px;padding-inline:7px}
  .profile-storage-actions{grid-template-columns:1fr}
  .profile-storage-actions button{min-height:43px;justify-content:flex-start;padding:0 13px}
  .profile-account-meta{grid-template-columns:1fr}
  .profile-account-meta span+span{border-left:0;border-top:1px solid #edf2f8}
}
@media(max-width:430px){
  .profile-setting-row{grid-template-columns:38px minmax(0,1fr) 42px}
  .profile-action-row,.profile-delete-row{grid-template-columns:38px minmax(0,1fr)}
  .profile-setting-icon{width:38px;height:38px}
  .profile-action-row em,.profile-delete-row em{grid-column:1/-1;width:100%;min-height:38px;display:grid;place-items:center}
  .profile-switch{width:40px;height:23px}
  .profile-switch span:after{width:17px;height:17px}
  .profile-switch input:checked+span:after{transform:translateX(17px)}
}
@media(prefers-reduced-motion:reduce){
  .profile-action-row,.profile-delete-row,.profile-storage-actions button,.profile-switch span,.profile-switch span:after{transition:none!important}
}

/* V72 — Timed & protected sharing UX polish */
.share-field-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.share-field-heading>label{margin:0}.share-field-heading>small{font-size:8.8px;color:#8794a6;font-weight:700}.share-generate-password{border:0;background:transparent;color:#1768ef;padding:2px 0;font-size:9px;font-weight:800;cursor:pointer}.share-generate-password:hover{text-decoration:underline}.share-password-strength{display:grid;grid-template-columns:minmax(90px,130px) minmax(0,1fr);align-items:center;gap:8px}.share-password-strength>span{height:4px;border-radius:999px;background:#e6edf5;overflow:hidden}.share-password-strength i{display:block;width:0;height:100%;border-radius:inherit;background:#d06b70;transition:width .18s ease,background .18s ease}.share-password-strength i[data-tone="good"]{background:#d69a2f}.share-password-strength i[data-tone="strong"]{background:#1f9b5b}.share-password-strength small{font-size:8.8px;color:#7d8b9e}.share-password-match.match{color:#15804a!important;font-weight:800}.share-password-match.mismatch{color:#c4424c!important;font-weight:800}.timed-share-preview,.share-result-summary{display:grid;grid-template-columns:38px minmax(0,1fr);gap:9px;align-items:center;padding:10px 11px;border:1px solid #d8e6f7;border-radius:11px;background:#f6faff}.timed-share-preview>span,.share-result-summary>span{width:38px;height:38px;border-radius:10px;background:#e7f1ff;color:#1768ef;display:grid;place-items:center}.timed-share-preview svg,.share-result-summary svg{width:17px;height:17px}.timed-share-preview small,.share-result-summary small{display:block;color:#7a899e;font-size:8.4px;text-transform:uppercase;letter-spacing:.35px;font-weight:800}.timed-share-preview strong,.share-result-summary strong{display:block;margin-top:2px;color:#27435f;font-size:11.2px}.timed-share-preview em,.share-result-summary em{display:block;margin-top:2px;color:#7b899d;font-style:normal;font-size:9px}.timed-share-preview.invalid{border-color:#efcfd2;background:#fff8f8}.timed-share-preview.invalid>span{background:#fff0f1;color:#c14953}.share-result-summary.timed{border-color:#d8e7f8}.share-result-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.share-result-quick-actions button,.protected-result-password-row>button{height:40px;border:1px solid #d8e3ef;border-radius:9px;background:#fff;color:#425d79;display:flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;font-size:9.7px;font-weight:800;cursor:pointer}.share-result-quick-actions button:hover,.protected-result-password-row>button:hover{background:#f1f6fc;color:#1768ef;border-color:#c5d7ef}.share-result-quick-actions svg,.protected-result-password-row>button svg{width:14px;height:14px}.protected-result-password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.protected-result-password-row .protected-share-password-wrap{min-width:0}.protected-result-password-row>button{min-width:120px}.share-result-modal .protected-share-note{margin-top:1px}.timed-share-presets{grid-template-columns:repeat(6,minmax(0,1fr))}.timed-share-presets button{height:40px}.timed-share-custom-row select{border:1px solid #dce4ee;border-radius:9px;background:#fff;color:#405773;padding:0 10px;outline:0}.timed-share-custom-row select:focus{border-color:#75a5f5;box-shadow:0 0 0 3px rgba(23,104,239,.08)}
@media(max-width:700px){.share-field-heading>small{font-size:8.5px}.share-generate-password{font-size:8.8px}.share-password-strength{grid-template-columns:92px minmax(0,1fr)}.timed-share-presets{grid-template-columns:repeat(3,minmax(0,1fr))}.timed-share-preview,.share-result-summary{grid-template-columns:34px minmax(0,1fr);gap:8px;padding:8px 9px}.timed-share-preview>span,.share-result-summary>span{width:34px;height:34px}.timed-share-preview strong,.share-result-summary strong{font-size:10.5px}.timed-share-preview em,.share-result-summary em{font-size:8.5px}.share-result-quick-actions button{height:38px;font-size:9.4px}.protected-result-password-row{grid-template-columns:minmax(0,1fr) auto}.protected-result-password-row>button{min-width:104px;height:43px;font-size:9px}.share-result-modal .modal-actions{grid-template-columns:1fr 1fr}}
@media(max-width:370px){.share-field-heading{align-items:flex-start;flex-direction:column;gap:3px}.share-password-strength{grid-template-columns:78px minmax(0,1fr)}.protected-result-password-row{grid-template-columns:1fr}.protected-result-password-row>button{width:100%}.share-result-quick-actions{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.share-password-strength i{transition:none}}

/* =========================================================
   V75 — Security & Alerts notification panel refresh
   Reference: rounded mobile security cards, stronger hierarchy,
   full-width phone popover, and low-overhead responsive polish.
   ========================================================= */
.notifications-popover{
  width:min(470px,calc(100vw - 32px));
  padding:15px;
  border:1px solid #dbe4f0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 24px 64px rgba(20,45,80,.20);
  overflow:hidden;
}
.notification-popover-title{
  padding:4px 3px 15px;
  border-bottom:0;
  gap:14px;
}
.notification-popover-title>div{gap:3px}
.notification-popover-title>div>strong{
  color:#101827;
  font-size:18px;
  line-height:1.2;
  font-weight:820;
  letter-spacing:-.025em;
}
.notification-popover-title>div>small{
  color:#718097;
  font-size:11.5px;
  line-height:1.35;
  font-weight:650;
}
.notification-popover-title>button{
  min-height:38px;
  padding:0 5px;
  color:#0b67e8;
  font-size:12.5px;
  line-height:1;
  font-weight:780;
  white-space:nowrap;
  border-radius:9px;
  -webkit-tap-highlight-color:transparent;
}
.notification-popover-title>button:hover{background:#f3f7ff}
#notificationList{
  display:grid;
  gap:10px;
  max-height:min(550px,calc(100dvh - 160px));
  padding:0 1px 1px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.notification-item{
  grid-template-columns:48px minmax(0,1fr);
  gap:13px;
  width:100%;
  min-height:116px;
  margin:0;
  padding:15px 17px 14px;
  border:1px solid #d8e6fb;
  border-radius:16px;
  background:#f7fbff;
  box-shadow:0 1px 0 rgba(18,55,96,.02);
  align-items:start;
  transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease;
}
.notification-item:hover{
  background:#f3f8ff;
  border-color:#c4d9f8;
  box-shadow:0 7px 18px rgba(36,80,137,.06);
}
.notification-item:active{transform:scale(.992)}
.notification-item.kind-warning{
  background:#fffaf1;
  border-color:#f1dfbf;
}
.notification-item.kind-warning:hover{background:#fff7e8;border-color:#ead09d}
.notification-item.kind-danger{background:#fff7f7;border-color:#f4d3d6}
.notification-item.kind-success{background:#f5fcf8;border-color:#d3eedf}
.notification-item.is-unread:after{
  right:16px;
  top:18px;
  width:8px;
  height:8px;
  background:#1267e8;
  box-shadow:0 0 0 2px rgba(255,255,255,.92);
}
.notification-item.is-read{opacity:.74}
.notification-item .notification-icon,
.notification-item span:first-child{
  width:48px;
  height:48px;
  border-radius:50%;
  background:#eaf2ff;
  color:#1167de;
  box-shadow:none;
}
.notification-item .notification-icon svg{width:24px;height:24px}
.notification-item.kind-warning .notification-icon{background:#fff0cf;color:#aa6b00}
.notification-item.kind-danger .notification-icon{background:#ffe9eb;color:#cf2f3d}
.notification-item.kind-success .notification-icon{background:#e6f8ee;color:#14834d}
.notification-item>div{padding-right:12px;min-width:0}
.notification-item .notification-meta{
  margin:1px 0 7px;
  color:#0e68e9!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:850!important;
  letter-spacing:.075em;
}
.notification-item.kind-warning .notification-meta{color:#a96b00!important}
.notification-item strong{
  display:block;
  color:#101827;
  font-size:15px;
  line-height:1.28;
  font-weight:820;
  letter-spacing:-.012em;
  padding-right:4px;
}
.notification-item small{
  display:block;
  margin-top:6px;
  color:#687993;
  font-size:12.5px;
  line-height:1.52;
  font-weight:500;
}
.notification-item em{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin-top:7px;
  color:#0868ec;
  font-size:11.5px;
  line-height:1.1;
  font-weight:800;
}
.notification-limit-note{
  border:0;
  border-radius:10px;
  padding:10px 12px;
  background:#f7f9fc;
  color:#7b8798;
  font-size:10px;
  font-weight:720;
}
.notification-empty-secure{
  min-height:220px;
  align-content:center;
  border:1px dashed #d8e3f1;
  border-radius:16px;
  background:#fbfdff;
}
.notification-empty-secure>span{width:52px;height:52px}
.notification-empty-secure>span svg{width:25px;height:25px}
.notification-empty-secure strong{font-size:14px}
.notification-empty-secure small{font-size:11px}

@media (max-width:700px){
  .notifications-popover{
    position:fixed!important;
    z-index:190!important;
    top:76px!important;
    left:14px!important;
    right:14px!important;
    width:auto!important;
    max-height:calc(100dvh - 90px);
    padding:14px;
    border-radius:21px;
    box-shadow:0 22px 58px rgba(12,35,68,.24);
  }
  .notifications-popover .notification-popover-title{
    position:relative;
    top:auto;
    z-index:2;
    padding:3px 2px 14px;
    background:#fff;
  }
  .notification-popover-title>div>strong{font-size:17px}
  .notification-popover-title>div>small{font-size:11px}
  .notification-popover-title>button{
    min-width:92px;
    min-height:42px;
    padding:0 6px;
    font-size:12px;
  }
  #notificationList{
    max-height:calc(100dvh - 164px);
    gap:9px;
    padding-bottom:max(1px,env(safe-area-inset-bottom));
    -webkit-overflow-scrolling:touch;
  }
  .notification-item{
    grid-template-columns:46px minmax(0,1fr);
    gap:12px;
    min-height:112px;
    padding:14px 15px 13px;
    border-radius:15px;
  }
  .notification-item .notification-icon,
  .notification-item span:first-child{width:46px;height:46px}
  .notification-item .notification-icon svg{width:23px;height:23px}
  .notification-item>div{padding-right:11px}
  .notification-item .notification-meta{font-size:9.6px!important;margin-bottom:6px}
  .notification-item strong{font-size:14.5px;line-height:1.3}
  .notification-item small{font-size:12px;line-height:1.5;margin-top:5px}
  .notification-item em{font-size:11px;margin-top:6px;min-height:26px}
  .notification-item.is-unread:after{right:14px;top:16px;width:7px;height:7px}
  .notification-limit-note{position:relative;bottom:auto;padding:10px}
}

@media (max-width:430px){
  .notifications-popover{
    top:68px!important;
    left:9px!important;
    right:9px!important;
    max-height:calc(100dvh - 78px);
    padding:12px;
    border-radius:19px;
  }
  .notification-popover-title{gap:9px}
  .notification-popover-title>div>strong{font-size:16px}
  .notification-popover-title>div>small{font-size:10.5px}
  .notification-popover-title>button{min-width:86px;font-size:11.5px}
  #notificationList{max-height:calc(100dvh - 148px);gap:8px}
  .notification-item{
    grid-template-columns:43px minmax(0,1fr);
    gap:10px;
    min-height:106px;
    padding:13px 13px 12px;
    border-radius:14px;
  }
  .notification-item .notification-icon,
  .notification-item span:first-child{width:43px;height:43px}
  .notification-item .notification-icon svg{width:21px;height:21px}
  .notification-item>div{padding-right:9px}
  .notification-item .notification-meta{font-size:9px!important}
  .notification-item strong{font-size:13.7px}
  .notification-item small{font-size:11.4px;line-height:1.48}
  .notification-item em{font-size:10.5px}
  .notification-item.is-unread:after{right:12px;top:14px}
}

@media (prefers-reduced-motion:reduce){
  .notification-item{transition:none!important}
}


/* V76 — premium generated-reference location security consent */
.location-consent-backdrop{
  z-index:10020;display:grid;place-items:center;padding:24px;
  background:rgba(20,37,61,.58);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
}
.location-consent-card.location-consent-card-v76{
  position:relative;box-sizing:border-box;width:min(680px,100%);max-height:min(900px,calc(100dvh - 48px));overflow:auto;
  padding:28px 30px 25px;border:1px solid rgba(211,224,241,.98);border-radius:28px;background:#fff;color:#536883;text-align:left;
  box-shadow:0 30px 90px rgba(8,31,67,.30),0 2px 7px rgba(27,63,104,.06);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
.location-consent-close{
  position:absolute;z-index:3;top:18px;right:18px;width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;
  background:#f0f4fa;color:#17345a;cursor:pointer;transition:transform .16s ease,background .16s ease;touch-action:manipulation;
}
.location-consent-close:hover{background:#e7eef8;transform:translateY(-1px)}
.location-consent-close:focus-visible{outline:3px solid rgba(31,111,235,.22);outline-offset:2px}
.location-consent-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.location-consent-brand{display:grid;justify-items:center;gap:2px;margin:4px 52px 22px}
.location-consent-brand img{display:block;width:min(430px,100%);height:144px;object-fit:contain;object-position:center}
.location-consent-brand>span{margin-top:-5px;color:#7c8ca3;font-size:10px;font-weight:850;letter-spacing:.13em;text-align:center}
.location-consent-heading{display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;gap:18px;margin-top:4px}
.location-consent-card-v76 .location-consent-icon{
  width:76px;height:76px;margin:0;border-radius:22px;background:linear-gradient(145deg,#eef5ff,#f7fbff);color:#1f6feb;
  box-shadow:inset 0 0 0 1px #d6e4f7;
}
.location-consent-card-v76 .location-consent-icon svg{width:38px;height:38px;stroke-width:1.9}
.location-consent-card-v76 .location-consent-kicker{margin:0 0 7px;color:#1768ef;font-size:11px;font-weight:900;letter-spacing:.12em}
.location-consent-card-v76 h2{margin:0;color:#142f54;font-size:29px;line-height:1.18;letter-spacing:-.025em}
.location-consent-card-v76 .location-consent-intro{margin:16px 0 0 96px;color:#5a6f8d;font-size:14px;line-height:1.6}
.location-consent-card-v76 .location-consent-intro strong{color:#1768ef;font-weight:850}
.location-consent-card-v76 .location-consent-points{display:grid;gap:14px;margin:22px 0 16px;padding:20px;border:1px solid #dce7f5;border-radius:18px;background:linear-gradient(180deg,#fbfdff,#f8fbff)}
.location-consent-card-v76 .location-consent-points>span{display:grid;grid-template-columns:38px minmax(0,1fr);gap:13px;align-items:center;color:#526783;font-size:13px;line-height:1.5}
.location-consent-card-v76 .location-consent-points b{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e7f7ee;color:#11844b;font-size:0}
.location-consent-card-v76 .location-consent-points b svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.location-consent-card-v76 .location-consent-points strong{color:#253d5d;font-weight:880}
.location-consent-privacy-note{display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:center;padding:12px 14px;border:1px solid #cfe1fb;border-radius:13px;background:#f6faff;color:#60738f;font-size:12px;line-height:1.45}
.location-consent-privacy-note>svg{width:20px;height:20px;fill:none;stroke:#1768ef;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.location-consent-privacy-note a{color:#1768ef;font-weight:800;text-decoration:none}
.location-consent-privacy-note a:hover{text-decoration:underline}
.location-consent-card-v76 .location-consent-link{display:inline-flex;align-items:center;gap:7px;min-height:36px;margin:10px 0 0;color:#1768ef;font-size:12px;font-weight:850;text-decoration:none}
.location-consent-card-v76 .location-consent-link>svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.location-consent-card-v76 .location-consent-link>span{font-size:20px;line-height:1}
.location-consent-card-v76 .location-consent-actions{display:grid;grid-template-columns:1fr 1.22fr;gap:12px;margin-top:18px;position:static;padding:0;background:transparent}
.location-consent-card-v76 .location-consent-actions button{
  min-height:68px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:10px 16px;border:1px solid #d5e1f0;border-radius:16px;
  background:#fff;color:#2e4563;text-align:left;cursor:pointer;box-shadow:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;touch-action:manipulation;
}
.location-consent-card-v76 .location-consent-actions button:hover{transform:translateY(-1px);border-color:#bfd2eb;box-shadow:0 8px 22px rgba(33,72,123,.08)}
.location-consent-card-v76 .location-consent-actions button:focus-visible{outline:3px solid rgba(31,111,235,.20);outline-offset:2px}
.location-consent-card-v76 .location-consent-actions button.primary{border-color:#1768ef;background:linear-gradient(135deg,#2876f4,#1768ef);color:#fff;box-shadow:0 12px 25px rgba(23,104,239,.20)}
.location-consent-card-v76 .location-consent-actions button.primary:hover{border-color:#1768ef;box-shadow:0 15px 30px rgba(23,104,239,.25)}
.location-consent-card-v76 .location-consent-actions button>span:last-child{display:grid;gap:2px}
.location-consent-card-v76 .location-consent-actions strong{font-size:14px;font-weight:900;line-height:1.15}
.location-consent-card-v76 .location-consent-actions small{font-size:10.5px;font-weight:650;line-height:1.25;color:#7b8ba0}
.location-consent-card-v76 .location-consent-actions .primary small{color:rgba(255,255,255,.82)}
.location-action-icon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.17);font-size:20px;font-weight:500}
.location-action-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.location-action-decline{background:#e9eff7;color:#345271}
.location-consent-card-v76 .location-consent-foot{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:16px;padding:0;color:#8b99aa;font-size:10.5px;line-height:1.4;text-align:center}
.location-consent-card-v76 .location-consent-foot svg{width:16px;height:16px;fill:none;stroke:#93a1b2;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body.location-consent-open{overflow:hidden}

@media(max-width:720px){
  .location-consent-backdrop{align-items:end;justify-items:stretch;padding:0;background:rgba(13,29,50,.60)}
  .location-consent-card.location-consent-card-v76{width:100%;max-height:min(91dvh,820px);padding:20px 17px calc(18px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;border-bottom:0;box-shadow:0 -22px 65px rgba(7,25,55,.28)}
  .location-consent-close{top:13px;right:13px;width:38px;height:38px}
  .location-consent-close svg{width:20px;height:20px}
  .location-consent-brand{margin:0 42px 14px;gap:0}
  .location-consent-brand img{width:min(315px,100%);height:94px}
  .location-consent-brand>span{margin-top:-4px;font-size:8.2px;letter-spacing:.11em}
  .location-consent-heading{grid-template-columns:58px minmax(0,1fr);gap:12px}
  .location-consent-card-v76 .location-consent-icon{width:58px;height:58px;border-radius:18px}
  .location-consent-card-v76 .location-consent-icon svg{width:29px;height:29px}
  .location-consent-card-v76 .location-consent-kicker{font-size:8.7px;margin-bottom:5px}
  .location-consent-card-v76 h2{font-size:21px;line-height:1.2}
  .location-consent-card-v76 .location-consent-intro{margin:10px 0 0 70px;font-size:12.3px;line-height:1.55}
  .location-consent-card-v76 .location-consent-points{gap:10px;margin:15px 0 12px;padding:13px;border-radius:15px}
  .location-consent-card-v76 .location-consent-points>span{grid-template-columns:30px minmax(0,1fr);gap:9px;font-size:11.5px;line-height:1.45}
  .location-consent-card-v76 .location-consent-points b{width:30px;height:30px}
  .location-consent-card-v76 .location-consent-points b svg{width:17px;height:17px}
  .location-consent-privacy-note{grid-template-columns:19px minmax(0,1fr);gap:7px;padding:10px 11px;border-radius:11px;font-size:10.7px}
  .location-consent-privacy-note>svg{width:17px;height:17px}
  .location-consent-card-v76 .location-consent-link{min-height:32px;margin-top:6px;font-size:10.8px}
  .location-consent-card-v76 .location-consent-link>svg{width:16px;height:16px}
  .location-consent-card-v76 .location-consent-actions{grid-template-columns:1fr 1.18fr;gap:9px;margin-top:11px}
  .location-consent-card-v76 .location-consent-actions button{min-height:58px;grid-template-columns:28px minmax(0,1fr);gap:8px;padding:8px 10px;border-radius:14px}
  .location-consent-card-v76 .location-consent-actions strong{font-size:12.5px}
  .location-consent-card-v76 .location-consent-actions small{font-size:9px}
  .location-action-icon{width:27px;height:27px;font-size:17px}
  .location-action-icon svg{width:17px;height:17px}
  .location-consent-card-v76 .location-consent-foot{margin-top:11px;font-size:9px}
  .location-consent-card-v76 .location-consent-foot svg{width:14px;height:14px}
}
@media(max-width:390px){
  .location-consent-card.location-consent-card-v76{padding-left:14px;padding-right:14px}
  .location-consent-brand{margin-left:36px;margin-right:36px}
  .location-consent-brand img{height:82px}
  .location-consent-heading{grid-template-columns:52px minmax(0,1fr);gap:10px}
  .location-consent-card-v76 .location-consent-icon{width:52px;height:52px;border-radius:16px}
  .location-consent-card-v76 h2{font-size:19px}
  .location-consent-card-v76 .location-consent-intro{margin-left:62px;font-size:11.7px}
  .location-consent-card-v76 .location-consent-points>span{font-size:10.8px}
  .location-consent-card-v76 .location-consent-actions{grid-template-columns:1fr 1fr}
  .location-consent-card-v76 .location-consent-actions button{grid-template-columns:24px minmax(0,1fr);padding:8px 8px;gap:7px}
  .location-action-icon{width:24px;height:24px}
  .location-consent-card-v76 .location-consent-actions strong{font-size:11.8px}
  .location-consent-card-v76 .location-consent-actions small{font-size:8.5px}
}
@media(max-height:690px) and (max-width:720px){
  .location-consent-card.location-consent-card-v76{max-height:94dvh;padding-top:14px}
  .location-consent-brand img{height:70px}
  .location-consent-brand>span{display:none}
  .location-consent-heading{grid-template-columns:48px minmax(0,1fr)}
  .location-consent-card-v76 .location-consent-icon{width:48px;height:48px}
  .location-consent-card-v76 .location-consent-intro{margin-left:58px}
  .location-consent-card-v76 .location-consent-points{margin-top:11px}
}
@media(prefers-reduced-motion:reduce){
  .location-consent-close,.location-consent-card-v76 .location-consent-actions button{transition:none}
}


/* V77 — Compact post-login location consent modal */
.location-consent-backdrop{
  position:fixed;
  inset:0;
  z-index:10020;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(8,20,39,.54);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.location-consent-backdrop[hidden]{display:none!important}
.location-consent-card.location-consent-card-v76{
  position:relative;
  width:min(410px,calc(100vw - 28px));
  max-height:min(86dvh,620px);
  overflow:auto;
  box-sizing:border-box;
  border:1px solid #d9e4f1;
  border-radius:22px;
  padding:18px 18px 16px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  box-shadow:0 24px 70px rgba(7,25,55,.22);
  color:#53647b;
  animation:locationConsentPop .22s ease;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
@keyframes locationConsentPop{
  from{opacity:0;transform:translateY(10px) scale(.975)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.location-consent-close{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:#f2f6fb;
  color:#27405f;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.location-consent-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.location-consent-compact-brand{display:flex;align-items:center;justify-content:center;padding-right:28px;margin-bottom:10px}
.location-consent-compact-brand img{height:44px;max-width:min(230px,100%);width:auto;object-fit:contain}
.location-consent-heading.compact{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:6px}
.location-consent-heading.compact .location-consent-icon{width:52px;height:52px;margin:0;border-radius:16px;background:linear-gradient(145deg,#eaf2ff,#f2f7ff);box-shadow:inset 0 0 0 1px #d7e5fa;color:#1768ef}
.location-consent-kicker{display:block;margin:2px 0 4px;color:#1768ef;font-size:10px;font-weight:900;letter-spacing:.12em}
.location-consent-card.location-consent-card-v76 h2{margin:0;color:#152d4e;font-size:28px;line-height:1.14;letter-spacing:-.03em}
.location-consent-card.location-consent-card-v76 .location-consent-intro{margin:6px 0 0;color:#5c6f87;font-size:13px;line-height:1.56}
.location-consent-points.compact{display:grid;gap:9px;margin:14px 0 12px;padding:12px;border:1px solid #e3ebf5;border-radius:14px;background:#f8fbff}
.location-consent-points.compact>span{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:start;color:#52657f;font-size:11.5px;line-height:1.5}
.location-consent-points.compact>span>span{display:block}
.location-consent-points.compact strong{color:#2a405c}
.location-consent-points.compact b{width:18px;height:18px;border-radius:999px;display:grid;place-items:center;background:#e5f7ec;color:#14834b}
.location-consent-points.compact b svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.location-consent-link.compact{display:inline-flex;align-items:center;gap:7px;min-height:32px;color:#1768ef;font-size:11px;font-weight:850;text-decoration:none}
.location-consent-link.compact svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.location-consent-actions.compact{display:grid;grid-template-columns:1fr 1.05fr;gap:10px;margin-top:10px}
.location-consent-actions.compact button{min-height:48px;padding:10px 12px;border:1px solid #d8e1ec;border-radius:14px;background:#fff;color:#4f6179;font-size:12px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;touch-action:manipulation;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.location-consent-actions.compact button:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(17,44,82,.08)}
.location-consent-actions.compact button.primary{border-color:#1768ef;background:#1768ef;color:#fff;box-shadow:0 12px 26px rgba(23,104,239,.22)}
.location-consent-actions.compact button>span{display:grid;gap:2px;text-align:left}
.location-consent-actions.compact button strong{font-size:14px;line-height:1.1}
.location-consent-actions.compact button small{font-size:10.5px;font-weight:700;line-height:1.2;color:inherit;opacity:.8}
.location-consent-actions.compact .location-action-icon{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px}
.location-consent-actions.compact .location-action-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
body.location-consent-open{overflow:hidden}
@media(max-width:620px){
  .location-consent-backdrop{padding:14px}
  .location-consent-card.location-consent-card-v76{width:min(360px,calc(100vw - 20px));max-height:min(82dvh,560px);padding:16px 15px 15px;border-radius:20px}
  .location-consent-compact-brand img{height:38px;max-width:190px}
  .location-consent-heading.compact{grid-template-columns:46px minmax(0,1fr);gap:10px}
  .location-consent-heading.compact .location-consent-icon{width:46px;height:46px;border-radius:14px}
  .location-consent-heading.compact .location-consent-icon svg{width:22px;height:22px}
  .location-consent-card.location-consent-card-v76 h2{font-size:23px}
  .location-consent-card.location-consent-card-v76 .location-consent-intro{font-size:12.5px}
  .location-consent-points.compact{padding:11px;gap:8px}
  .location-consent-points.compact>span{font-size:11px;gap:8px}
  .location-consent-actions.compact{grid-template-columns:1fr 1fr;gap:8px}
  .location-consent-actions.compact button{min-height:46px;padding:10px}
  .location-consent-actions.compact button strong{font-size:13px}
  .location-consent-actions.compact button small{font-size:10px}
}
@media(max-width:360px){
  .location-consent-card.location-consent-card-v76{width:calc(100vw - 16px);padding-inline:13px}
  .location-consent-card.location-consent-card-v76 h2{font-size:21px}
  .location-consent-actions.compact{grid-template-columns:1fr}
  .location-consent-actions.compact button>span{text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .location-consent-card.location-consent-card-v76{animation:none}
  .location-consent-actions.compact button{transition:none}
}

/* V78 — Compact Emergency Face Login post-login notice.
   Smaller typography/cards, true mobile centering, and low-cost motion for low-end devices. */
.emergency-notice-layer{
  align-items:center;
  padding:16px;
  background:rgba(7,20,36,.52);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  transition:opacity .15s ease;
}
.emergency-notice-card{
  width:min(580px,100%);
  max-height:min(720px,calc(100dvh - 32px));
  border-radius:22px;
  padding:18px 20px 20px;
  box-shadow:0 22px 60px rgba(7,24,48,.22);
  transform:translateY(8px) scale(.992);
  transition:transform .16s ease,opacity .16s ease;
  overscroll-behavior:contain;
}
.emergency-notice-layer.is-closing .emergency-notice-card{transform:translateY(6px) scale(.995)}
.emergency-notice-x{
  right:12px;
  top:12px;
  width:34px;
  height:34px;
  border-radius:10px;
  box-shadow:0 4px 12px rgba(13,30,56,.07);
}
.emergency-notice-x svg{width:16px;height:16px}
.emergency-notice-shell{gap:10px}
.emergency-notice-brand-row{gap:6px;padding-top:0}
.emergency-notice-brand-logo{width:min(235px,62%);max-width:235px;min-width:150px}
.emergency-notice-language{gap:8px}
.emergency-lang-link{font-size:12px;font-weight:750}
.emergency-lang-divider{font-size:13px}
.emergency-notice-divider{margin-top:0}
.emergency-notice-header{padding:3px 8px 0}
.emergency-notice-header h2{font-size:25px;line-height:1.14;letter-spacing:-.025em}
.emergency-notice-title{margin-top:7px;font-size:15px;line-height:1.3}
.emergency-notice-intro{margin-top:8px;max-width:500px;font-size:12.5px;line-height:1.52}
.emergency-session-banner{
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  padding:10px 12px;
  border-radius:14px;
  box-shadow:0 10px 22px rgba(22,99,226,.18);
}
.emergency-session-banner-icon{width:32px;height:32px;border-width:1.5px}
.emergency-session-banner-icon svg{width:18px;height:18px}
.emergency-session-banner strong{font-size:12.5px;line-height:1.35}
.emergency-feature-card{
  grid-template-columns:46px minmax(0,1fr);
  gap:11px;
  padding:11px 12px;
  border-radius:14px;
  box-shadow:0 4px 12px rgba(13,31,58,.035);
}
.emergency-feature-icon{width:42px;height:42px;border-radius:13px}
.emergency-feature-icon svg{width:21px;height:21px}
.emergency-feature-copy strong{font-size:13.5px;line-height:1.3}
.emergency-feature-copy p{margin-top:5px;font-size:11.5px;line-height:1.5}
.emergency-feature-copy ul{margin:5px 0 0 16px;font-size:11.5px;line-height:1.48}
.emergency-feature-copy li+li{margin-top:2px}
.emergency-feature-card--tip .emergency-feature-copy p{font-size:11.5px;line-height:1.48}

@media(max-width:700px){
  .emergency-notice-layer{
    align-items:center;
    justify-content:center;
    padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom));
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .emergency-notice-card{
    width:min(430px,100%);
    max-height:calc(100dvh - max(20px,env(safe-area-inset-top) + env(safe-area-inset-bottom)));
    border-radius:18px;
    padding:14px 13px max(14px,calc(env(safe-area-inset-bottom) + 8px));
    box-shadow:0 16px 42px rgba(7,24,48,.24);
  }
  .emergency-notice-x{right:9px;top:9px;width:32px;height:32px;border-radius:9px}
  .emergency-notice-brand-logo{width:min(205px,58%);min-width:135px}
  .emergency-notice-language{gap:7px}
  .emergency-lang-link{font-size:11px}
  .emergency-lang-divider{font-size:12px}
  .emergency-notice-shell{gap:8px}
  .emergency-notice-header{padding:2px 5px 0}
  .emergency-notice-header h2{font-size:20px;line-height:1.16}
  .emergency-notice-title{font-size:13px;margin-top:5px}
  .emergency-notice-intro{font-size:11px;line-height:1.48;margin-top:6px;max-width:360px}
  .emergency-session-banner{grid-template-columns:30px minmax(0,1fr);gap:8px;padding:8px 10px;border-radius:12px}
  .emergency-session-banner-icon{width:29px;height:29px}
  .emergency-session-banner-icon svg{width:16px;height:16px}
  .emergency-session-banner strong{font-size:11px;line-height:1.3}
  .emergency-feature-card{grid-template-columns:38px minmax(0,1fr);gap:9px;padding:9px 10px;border-radius:12px}
  .emergency-feature-icon{width:36px;height:36px;border-radius:11px}
  .emergency-feature-icon svg{width:18px;height:18px}
  .emergency-feature-copy strong{font-size:12px;line-height:1.27}
  .emergency-feature-copy p,.emergency-feature-copy ul,.emergency-feature-card--tip .emergency-feature-copy p{font-size:10.5px;line-height:1.42}
  .emergency-feature-copy p{margin-top:4px}
  .emergency-feature-copy ul{margin-top:4px;margin-left:14px}
}

@media(max-width:380px){
  .emergency-notice-layer{padding:8px}
  .emergency-notice-card{padding:12px 10px;max-height:calc(100dvh - 16px);border-radius:16px}
  .emergency-notice-brand-logo{width:175px;min-width:0}
  .emergency-notice-header h2{font-size:18px}
  .emergency-notice-title{font-size:12px}
  .emergency-notice-intro{font-size:10.25px;line-height:1.42}
  .emergency-session-banner strong{font-size:10.5px}
  .emergency-feature-card{grid-template-columns:34px minmax(0,1fr);gap:8px;padding:8px 9px}
  .emergency-feature-icon{width:32px;height:32px;border-radius:10px}
  .emergency-feature-icon svg{width:16px;height:16px}
  .emergency-feature-copy strong{font-size:11.5px}
  .emergency-feature-copy p,.emergency-feature-copy ul,.emergency-feature-card--tip .emergency-feature-copy p{font-size:10px;line-height:1.38}
}

@media(max-height:640px) and (max-width:700px){
  .emergency-notice-card{max-height:calc(100dvh - 12px)}
  .emergency-notice-shell{gap:6px}
  .emergency-notice-brand-logo{width:155px}
  .emergency-notice-header h2{font-size:17px}
  .emergency-notice-intro{font-size:10px;margin-top:4px}
  .emergency-feature-card{padding:7px 9px}
  .emergency-feature-icon{width:30px;height:30px}
}

/* V79 — Emergency notice close controls.
   Adds a clear bottom action and keeps the X fully visible/tappable on small phones. */
.emergency-notice-actions{
  display:flex;
  justify-content:flex-end;
  padding-top:1px;
}
.emergency-notice-close-btn{
  min-width:108px;
  min-height:38px;
  border:1px solid #cbd9e8;
  border-radius:11px;
  background:#fff;
  color:#17314f;
  font:inherit;
  font-size:12.5px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  touch-action:manipulation;
  box-shadow:0 4px 12px rgba(13,30,56,.06);
  transition:background .14s ease,border-color .14s ease,transform .14s ease;
}
.emergency-notice-close-btn:hover{background:#f2f6fb;border-color:#b9cadc}
.emergency-notice-close-btn:active{transform:scale(.985)}
.emergency-notice-close-btn:focus-visible{outline:3px solid rgba(23,104,239,.22);outline-offset:2px}

@media(max-width:700px){
  .emergency-notice-card{
    /* Reserve enough room so the top close control cannot be clipped by the card edge. */
    overflow-x:hidden;
  }
  .emergency-notice-x{
    right:10px;
    top:10px;
    z-index:20;
    width:38px;
    height:38px;
    min-width:38px;
    min-height:38px;
    border-radius:11px;
    border-color:#c7d6e6;
    background:#fff;
    color:#17314f;
    box-shadow:0 5px 16px rgba(7,24,48,.16);
    opacity:1;
    visibility:visible;
    -webkit-tap-highlight-color:transparent;
  }
  .emergency-notice-x svg{width:17px;height:17px;pointer-events:none}
  .emergency-notice-brand-row{padding-left:42px;padding-right:42px}
  .emergency-notice-actions{padding-top:2px}
  .emergency-notice-close-btn{
    width:100%;
    min-height:42px;
    border-radius:12px;
    font-size:12px;
    box-shadow:none;
  }
}

@media(max-width:380px){
  .emergency-notice-x{right:8px;top:8px;width:36px;height:36px;min-width:36px;min-height:36px}
  .emergency-notice-brand-row{padding-left:38px;padding-right:38px}
  .emergency-notice-close-btn{min-height:40px;font-size:11.5px}
}

@media(prefers-reduced-motion:reduce){
  .emergency-notice-close-btn{transition:none}
}
\n\n/* V80 — Emergency notice mobile close X fix.\n   Uses a native text glyph instead of the SVG sprite so iOS Safari cannot render a tiny/blank mark.\n   Also suppresses the unwanted programmatic mobile focus halo while retaining keyboard focus on desktop. */\n.emergency-notice-x{\n  -webkit-appearance:none;\n  appearance:none;\n  padding:0;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  overflow:hidden;\n  outline:none;\n  line-height:1;\n}\n.emergency-notice-x-mark{\n  display:block;\n  width:100%;\n  text-align:center;\n  color:currentColor;\n  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;\n  font-size:23px;\n  font-weight:400;\n  line-height:.86;\n  transform:translateY(-1px);\n  pointer-events:none;\n  -webkit-user-select:none;\n  user-select:none;\n}\n@media (hover:hover) and (pointer:fine){\n  .emergency-notice-x:focus-visible{outline:3px solid rgba(23,104,239,.22);outline-offset:2px}\n}\n@media (hover:none), (pointer:coarse){\n  .emergency-notice-x:focus,\n  .emergency-notice-x:focus-visible{outline:none;box-shadow:0 5px 16px rgba(7,24,48,.16)}\n}\n@media(max-width:700px){\n  .emergency-notice-x{\n    right:11px;\n    top:11px;\n    width:36px;\n    height:36px;\n    min-width:36px;\n    min-height:36px;\n    border-radius:10px;\n    border:1px solid #cbd8e6;\n    background:#fff;\n    color:#24405f;\n  }\n  .emergency-notice-x-mark{font-size:22px;transform:translateY(-1px)}\n}\n@media(max-width:380px){\n  .emergency-notice-x{right:9px;top:9px;width:34px;height:34px;min-width:34px;min-height:34px}\n  .emergency-notice-x-mark{font-size:21px}\n}\n
/* =========================================================
   V81 — Compact notification bell popover
   Keep the existing Security & Alerts theme, but prevent the
   bell panel from expanding across the dashboard on phones.
   ========================================================= */
.notifications-popover{
  width:min(390px,calc(100vw - 28px));
  max-height:430px;
  padding:12px;
  border-radius:18px;
}
.notifications-popover .notification-popover-title{
  padding:3px 2px 11px;
}
.notifications-popover #notificationList{
  max-height:342px;
  gap:8px;
}
.notifications-popover .notification-item{
  grid-template-columns:40px minmax(0,1fr);
  gap:10px;
  min-height:0;
  padding:11px 12px 10px;
  border-radius:13px;
}
.notifications-popover .notification-item .notification-icon,
.notifications-popover .notification-item span:first-child{
  width:40px;
  height:40px;
}
.notifications-popover .notification-item .notification-icon svg{
  width:20px;
  height:20px;
}
.notifications-popover .notification-item>div{padding-right:8px}
.notifications-popover .notification-item .notification-meta{
  margin:0 0 4px;
  font-size:8.8px!important;
}
.notifications-popover .notification-item strong{
  font-size:13px;
  line-height:1.3;
}
.notifications-popover .notification-item small{
  margin-top:4px;
  font-size:10.7px;
  line-height:1.42;
}
.notifications-popover .notification-item em{
  min-height:22px;
  margin-top:4px;
  font-size:9.7px;
}
.notifications-popover .notification-item.is-unread:after{
  right:10px;
  top:12px;
  width:6px;
  height:6px;
}
.notifications-popover .notification-empty-secure{
  min-height:150px;
}

@media (max-width:700px){
  .notifications-popover{
    position:fixed!important;
    z-index:190!important;
    top:66px!important;
    right:10px!important;
    left:auto!important;
    width:min(338px,calc(100vw - 20px))!important;
    max-width:calc(100vw - 20px)!important;
    max-height:min(390px,calc(100dvh - 78px))!important;
    padding:10px!important;
    border-radius:17px!important;
    box-shadow:0 18px 48px rgba(12,35,68,.22)!important;
  }
  .notifications-popover .notification-popover-title{
    position:relative!important;
    top:auto!important;
    padding:2px 2px 10px!important;
  }
  .notifications-popover .notification-popover-title>div>strong{font-size:14px!important}
  .notifications-popover .notification-popover-title>div>small{font-size:9.5px!important}
  .notifications-popover .notification-popover-title>button{
    min-width:0!important;
    min-height:34px!important;
    padding:0 6px!important;
    font-size:10px!important;
  }
  .notifications-popover #notificationList{
    max-height:min(316px,calc(100dvh - 145px))!important;
    gap:7px!important;
    padding-bottom:1px!important;
  }
  .notifications-popover .notification-item{
    grid-template-columns:36px minmax(0,1fr)!important;
    gap:9px!important;
    min-height:0!important;
    padding:9px 10px 9px!important;
    border-radius:12px!important;
  }
  .notifications-popover .notification-item .notification-icon,
  .notifications-popover .notification-item span:first-child{
    width:36px!important;
    height:36px!important;
  }
  .notifications-popover .notification-item .notification-icon svg{width:18px!important;height:18px!important}
  .notifications-popover .notification-item>div{padding-right:7px!important}
  .notifications-popover .notification-item .notification-meta{font-size:8px!important;margin-bottom:3px!important}
  .notifications-popover .notification-item strong{font-size:11.8px!important;line-height:1.3!important}
  .notifications-popover .notification-item small{font-size:9.5px!important;line-height:1.4!important;margin-top:3px!important}
  .notifications-popover .notification-item em{font-size:8.8px!important;min-height:18px!important;margin-top:3px!important}
  .notifications-popover .notification-item.is-unread:after{right:8px!important;top:10px!important;width:6px!important;height:6px!important}
  .notifications-popover .notification-limit-note{position:relative!important;padding:7px!important;font-size:8.5px!important}
  .notifications-popover .notification-empty-secure{min-height:132px!important;padding:18px 10px!important}
  .notifications-popover .notification-empty-secure>span{width:42px!important;height:42px!important}
  .notifications-popover .notification-empty-secure>span svg{width:20px!important;height:20px!important}
  .notifications-popover .notification-empty-secure strong{font-size:12px!important}
  .notifications-popover .notification-empty-secure small{font-size:9.5px!important}
}

@media (max-width:430px){
  .notifications-popover{
    top:62px!important;
    right:7px!important;
    left:auto!important;
    width:min(318px,calc(100vw - 14px))!important;
    max-width:calc(100vw - 14px)!important;
    max-height:min(370px,calc(100dvh - 72px))!important;
  }
  .notifications-popover #notificationList{
    max-height:min(296px,calc(100dvh - 138px))!important;
  }
}


/* =========================================================
   V82 — Extra compact notification bell popover
   Make the notification box smaller and keep about 4 alerts
   visible at once, with internal scrolling for the rest.
   ========================================================= */
.notifications-popover{
  width:min(330px,calc(100vw - 28px))!important;
  max-height:360px!important;
  padding:10px!important;
  border-radius:16px!important;
}
.notifications-popover .notification-popover-title{
  padding:2px 2px 9px!important;
}
.notifications-popover .notification-popover-title>div>strong{
  font-size:13px!important;
}
.notifications-popover .notification-popover-title>div>small{
  font-size:9px!important;
}
.notifications-popover .notification-popover-title>button{
  min-height:30px!important;
  padding:0 5px!important;
  font-size:9.5px!important;
}
.notifications-popover #notificationList{
  display:grid!important;
  gap:6px!important;
  max-height:286px!important;
  overflow-y:auto!important;
  padding-right:2px!important;
  scrollbar-width:thin;
}
.notifications-popover .notification-item{
  grid-template-columns:34px minmax(0,1fr)!important;
  gap:8px!important;
  padding:8px 9px!important;
  border-radius:11px!important;
}
.notifications-popover .notification-item .notification-icon,
.notifications-popover .notification-item span:first-child{
  width:34px!important;
  height:34px!important;
}
.notifications-popover .notification-item .notification-icon svg{
  width:17px!important;
  height:17px!important;
}
.notifications-popover .notification-item>div{
  padding-right:7px!important;
}
.notifications-popover .notification-item .notification-meta{
  font-size:7.8px!important;
  margin:0 0 3px!important;
}
.notifications-popover .notification-item strong{
  font-size:11.5px!important;
  line-height:1.28!important;
}
.notifications-popover .notification-item small{
  font-size:9.2px!important;
  line-height:1.35!important;
  margin-top:2px!important;
}
.notifications-popover .notification-item em{
  min-height:16px!important;
  margin-top:2px!important;
  font-size:8.3px!important;
}
.notifications-popover .notification-item.is-unread:after{
  right:8px!important;
  top:9px!important;
  width:5px!important;
  height:5px!important;
}
.notifications-popover .notification-limit-note{
  padding:6px!important;
  font-size:8.2px!important;
}
.notifications-popover .notification-empty-secure{
  min-height:120px!important;
  padding:16px 10px!important;
}
.notifications-popover .notification-empty-secure>span{
  width:40px!important;
  height:40px!important;
}
.notifications-popover .notification-empty-secure>span svg{
  width:19px!important;
  height:19px!important;
}
.notifications-popover .notification-empty-secure strong{
  font-size:11.5px!important;
}
.notifications-popover .notification-empty-secure small{
  font-size:9.2px!important;
}

@media (max-width:700px){
  .notifications-popover{
    top:66px!important;
    right:9px!important;
    left:auto!important;
    width:min(304px,calc(100vw - 18px))!important;
    max-width:calc(100vw - 18px)!important;
    max-height:min(344px,calc(100dvh - 76px))!important;
    padding:9px!important;
    border-radius:15px!important;
  }
  .notifications-popover .notification-popover-title{
    padding:1px 1px 8px!important;
  }
  .notifications-popover .notification-popover-title>div>strong{
    font-size:12.8px!important;
  }
  .notifications-popover .notification-popover-title>div>small{
    font-size:8.7px!important;
  }
  .notifications-popover .notification-popover-title>button{
    min-height:30px!important;
    font-size:9.2px!important;
  }
  .notifications-popover #notificationList{
    max-height:min(272px,calc(100dvh - 132px))!important;
    gap:6px!important;
  }
  .notifications-popover .notification-item{
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:8px!important;
    padding:8px 8px!important;
    border-radius:10px!important;
  }
  .notifications-popover .notification-item .notification-icon,
  .notifications-popover .notification-item span:first-child{
    width:32px!important;
    height:32px!important;
  }
  .notifications-popover .notification-item .notification-icon svg{
    width:16px!important;
    height:16px!important;
  }
  .notifications-popover .notification-item .notification-meta{
    font-size:7.5px!important;
  }
  .notifications-popover .notification-item strong{
    font-size:10.9px!important;
  }
  .notifications-popover .notification-item small{
    font-size:8.8px!important;
  }
  .notifications-popover .notification-item em{
    font-size:8px!important;
  }
}

@media (max-width:430px){
  .notifications-popover{
    top:62px!important;
    right:7px!important;
    width:min(294px,calc(100vw - 14px))!important;
    max-width:calc(100vw - 14px)!important;
    max-height:min(336px,calc(100dvh - 70px))!important;
  }
  .notifications-popover #notificationList{
    max-height:min(264px,calc(100dvh - 126px))!important;
  }
}

/* V88 compact About release history */
.about-version-list{max-height:650px}
.about-version-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto auto;gap:11px;align-items:center;min-height:60px;padding:10px 16px;border-bottom:1px solid #edf1f6;background:#fff}
.about-version-item:last-child{border-bottom:0}.about-version-item.is-current{background:linear-gradient(90deg,rgba(23,104,239,.055),#fff 38%);box-shadow:inset 3px 0 #1768ef}
.about-version-summary strong{font-size:10.6px}.about-version-summary small{margin-top:3px}
@media(max-width:760px){.about-version-item{grid-template-columns:46px minmax(0,1fr) auto;gap:9px;min-height:56px;padding:9px 10px}.about-version-category{display:none}}
@media(max-width:460px){.about-version-item{grid-template-columns:42px minmax(0,1fr)}.about-version-current{display:none}.about-version-summary strong{font-size:9.9px}.about-version-summary small{font-size:7.4px}}


/* V89 · lightweight logout transition — transform/opacity only for low-end devices */
.logout-transition-layer{position:fixed;inset:0;z-index:5200;display:grid;place-items:center;padding:16px;background:rgba(10,24,43,.28);opacity:0;pointer-events:auto;transition:opacity .14s ease;contain:layout paint}
.logout-transition-layer.is-visible{opacity:1}
.logout-transition-card{width:min(210px,calc(100vw - 32px));min-height:116px;border:1px solid #e1e8f0;border-radius:18px;background:#fff;box-shadow:0 14px 38px rgba(8,27,51,.16);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:18px 16px;color:#18314f;text-align:center;transform:translateY(5px) scale(.99);opacity:.98;transition:transform .16s ease,opacity .16s ease;will-change:transform,opacity}
.logout-transition-layer.is-visible .logout-transition-card{transform:translateY(0) scale(1);opacity:1}
.logout-transition-spinner{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef5ff;contain:strict}
.logout-transition-spinner span{width:20px;height:20px;border:2px solid #c8daf4;border-top-color:#1768ef;border-radius:50%;animation:logoutTransitionSpin .72s linear infinite;will-change:transform}
.logout-transition-card strong{font-size:12px;line-height:1.25;font-weight:850;letter-spacing:-.01em}.logout-transition-card small{font-size:9px;line-height:1.35;color:#7b8ba0}
@keyframes logoutTransitionSpin{to{transform:rotate(360deg)}}
@media(max-width:520px){.logout-transition-layer{padding:12px}.logout-transition-card{width:min(194px,calc(100vw - 28px));min-height:108px;border-radius:16px;padding:16px 14px}.logout-transition-spinner{width:32px;height:32px}.logout-transition-card strong{font-size:11.5px}}
@media(prefers-reduced-motion:reduce){.logout-transition-layer,.logout-transition-card{transition:none}.logout-transition-spinner span{animation:none;border-top-color:#1768ef}}

/* =========================================================
   V90 — Emergency Contacts
   Trusted phone numbers for cross-device emergency recovery.
   ========================================================= */
.emergency-contacts-page-view{width:100%}
.emergency-contacts-shell{display:grid;gap:14px;width:100%;max-width:980px;margin:0 auto}
.emergency-contacts-hero{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px;border:1px solid #dce7f4;border-radius:20px;background:linear-gradient(135deg,#f8fbff 0%,#fff 68%);box-shadow:0 10px 30px rgba(31,72,126,.06)}
.emergency-contacts-hero-icon{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;background:#eaf3ff;color:#1768ef;box-shadow:inset 0 0 0 1px #d7e7fb}
.emergency-contacts-hero-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.emergency-contacts-hero-copy>span{display:block;color:#1768ef;font-size:9.5px;font-weight:900;letter-spacing:.12em}
.emergency-contacts-hero-copy h2{margin:5px 0 5px;color:#16304f;font-size:22px;line-height:1.18;letter-spacing:-.025em}
.emergency-contacts-hero-copy p{margin:0;max-width:650px;color:#667a92;font-size:11.5px;line-height:1.6}
.emergency-contacts-count{min-width:92px;padding:11px 13px;border:1px solid #dbe8f7;border-radius:14px;background:#fff;text-align:center}
.emergency-contacts-count strong{display:block;color:#1768ef;font-size:20px;line-height:1}
.emergency-contacts-count span{display:block;margin-top:5px;color:#7a8da3;font-size:9px;font-weight:750}
.emergency-contacts-session-note,.emergency-contacts-setup-note,.emergency-contacts-privacy,.emergency-contact-form-note{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;padding:12px 14px;border:1px solid #d9e7f7;border-radius:14px;background:#f7fbff}
.emergency-contacts-session-note>span,.emergency-contacts-setup-note>span,.emergency-contact-form-note>span{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#e8f2ff;color:#1768ef}
.emergency-contacts-session-note svg,.emergency-contacts-setup-note svg,.emergency-contact-form-note svg,.emergency-contacts-privacy>svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.emergency-contacts-session-note strong,.emergency-contacts-setup-note strong,.emergency-contacts-privacy strong,.emergency-contact-form-note strong{display:block;color:#294361;font-size:11.5px}
.emergency-contacts-session-note small,.emergency-contacts-setup-note small,.emergency-contacts-privacy small,.emergency-contact-form-note small{display:block;margin-top:3px;color:#71839a;font-size:9.5px;line-height:1.5}
.emergency-contacts-setup-note{border-color:#f0dfb9;background:#fffaf0}
.emergency-contacts-setup-note>span{background:#fff0c9;color:#a76a08}
.emergency-contacts-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:2px 2px 0}
.emergency-contacts-toolbar strong{display:block;color:#203852;font-size:13px}
.emergency-contacts-toolbar small{display:block;margin-top:3px;color:#8190a3;font-size:9.5px}
.emergency-contacts-toolbar>button,.emergency-contacts-empty>button{min-height:42px;border:1px solid #1768ef;border-radius:11px;background:#1768ef;color:#fff;padding:0 14px;font-size:10.5px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;box-shadow:0 8px 20px rgba(23,104,239,.16)}
.emergency-contacts-toolbar>button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.emergency-contacts-toolbar>button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}
.emergency-contacts-list{display:grid;gap:10px}
.emergency-contact-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:13px;align-items:center;padding:13px 14px;border:1px solid #e0e8f2;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(24,51,86,.035)}
.emergency-contact-avatar{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#edf5ff;color:#1768ef;font-size:16px;font-weight:900}
.emergency-contact-copy{min-width:0}
.emergency-contact-copy strong{display:block;color:#213a57;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.emergency-contact-copy small{display:block;margin-top:2px;color:#8190a3;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.emergency-contact-number{display:inline-block;margin-top:5px;color:#1768ef;font-size:11px;font-weight:800;text-decoration:none;word-break:break-word}
.emergency-contact-actions{display:flex;align-items:center;gap:7px}
.emergency-contact-actions>a,.emergency-contact-actions>button{min-height:36px;border:1px solid #d6e2f1;border-radius:10px;background:#fff;color:#47617e;padding:0 11px;font:inherit;font-size:9.5px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;cursor:pointer;white-space:nowrap}
.emergency-contact-actions .emergency-contact-call{border-color:#cfe0f8;background:#f2f7ff;color:#1768ef}
.emergency-contact-actions .emergency-contact-call svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.emergency-contact-actions .danger-soft{border-color:#efd8d2;background:#fff8f6;color:#a44a38}
.emergency-contacts-empty{display:grid;place-items:center;text-align:center;padding:36px 20px;border:1px dashed #ccdaea;border-radius:16px;background:#fbfdff}
.emergency-contacts-empty>span{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#edf5ff;color:#1768ef}
.emergency-contacts-empty>span svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.emergency-contacts-empty h3{margin:12px 0 5px;color:#29425f;font-size:14px}
.emergency-contacts-empty p{max-width:510px;margin:0;color:#7b8da2;font-size:10.5px;line-height:1.55}
.emergency-contacts-empty>button{margin-top:13px}
.emergency-contacts-privacy{grid-template-columns:24px minmax(0,1fr);padding:10px 12px;background:#fafcff}
.emergency-contacts-privacy>svg{color:#607b9a;margin:auto}
.emergency-contact-form-modal{width:min(620px,100%)}
.emergency-contact-form-note{margin-bottom:12px}
.optional-label{font-size:8.5px;color:#8d9aac;font-weight:650}

/* V90 — add Emergency Contacts to the protected post-login notice. */
.emergency-notice-actions{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(92px,.75fr);gap:8px;justify-content:stretch}
.emergency-notice-contacts-btn{min-height:38px;border:1px solid #1768ef;border-radius:11px;background:#1768ef;color:#fff;font:inherit;font-size:12px;font-weight:850;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;touch-action:manipulation;box-shadow:0 6px 15px rgba(23,104,239,.16)}
.emergency-notice-contacts-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.emergency-notice-close-btn{width:auto!important;min-width:92px}

@media(max-width:700px){
  .emergency-contacts-shell{gap:11px}
  .emergency-contacts-hero{grid-template-columns:50px minmax(0,1fr);gap:11px;padding:15px;border-radius:17px}
  .emergency-contacts-hero-icon{width:50px;height:50px;border-radius:15px}
  .emergency-contacts-hero-icon svg{width:24px;height:24px}
  .emergency-contacts-hero-copy h2{font-size:18px}
  .emergency-contacts-hero-copy p{font-size:10.5px;line-height:1.5}
  .emergency-contacts-count{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:9px}
  .emergency-contacts-count strong{font-size:15px}
  .emergency-contacts-count span{margin:0;font-size:9px}
  .emergency-contacts-toolbar{align-items:flex-end}
  .emergency-contacts-toolbar>button{min-height:40px;padding-inline:12px}
  .emergency-contact-card{grid-template-columns:43px minmax(0,1fr);padding:11px;gap:10px}
  .emergency-contact-avatar{width:43px;height:43px;border-radius:12px}
  .emergency-contact-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .emergency-contact-actions:has(>a:only-child){grid-template-columns:1fr}
  .emergency-contact-actions>a,.emergency-contact-actions>button{min-height:39px;width:100%;padding-inline:8px}
  .emergency-contacts-empty{padding:28px 16px}
  .emergency-notice-actions{grid-template-columns:1.2fr .8fr;gap:7px}
  .emergency-notice-contacts-btn,.emergency-notice-close-btn{min-height:42px!important;font-size:11.5px!important}
}
@media(max-width:390px){
  .emergency-contacts-toolbar{display:grid;grid-template-columns:1fr}
  .emergency-contacts-toolbar>button{width:100%}
  .emergency-contact-actions{grid-template-columns:1fr 1fr}
  .emergency-contact-actions .emergency-contact-call{grid-column:1/-1}
  .emergency-notice-actions{grid-template-columns:1fr}
  .emergency-notice-contacts-btn,.emergency-notice-close-btn{width:100%!important;min-height:40px!important}
}
@media(prefers-reduced-motion:reduce){
  .emergency-notice-contacts-btn{transition:none}
}

/* V94 — Face-independent file upload + whole-folder upload */
.quick-upload-zone[role="button"]{cursor:pointer;position:relative;padding:12px}
.quick-upload-zone[role="button"]:focus-visible{outline:3px solid rgba(23,104,239,.2);outline-offset:3px}
.quick-upload-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:7px}
.quick-upload-actions button{min-height:34px;border:1px solid #9ebdf0;border-radius:8px;background:#fff;color:#0861f0;padding:6px 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:10.5px;font-weight:750;cursor:pointer;box-shadow:0 2px 7px rgba(26,76,145,.05)}
.quick-upload-actions button:hover{background:#edf5ff;border-color:#6d9eea}
.quick-upload-actions button svg{width:14px;height:14px}
.quick-upload-hint{display:block;margin-top:7px;max-width:290px;color:#8190a5;font-size:9px;line-height:1.4}
.quick-upload-zone.drag-active{transform:scale(1.006);box-shadow:inset 0 0 0 2px rgba(79,141,243,.11)}
@media (max-width:700px){.quick-upload-zone{height:auto!important;min-height:154px;padding:16px 12px}.quick-upload-zone strong{font-size:12px}.quick-upload-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.quick-upload-actions button{min-height:42px;font-size:10.5px;padding:8px}.quick-upload-hint{font-size:8.8px;max-width:260px}}
@media (max-width:390px){.quick-upload-actions{grid-template-columns:1fr}.quick-upload-actions button{min-height:40px}}


/* V95 — Branded Seppuwa folder-upload confirmation */
body.seppuwa-folder-confirm-open{overflow:hidden}
.seppuwa-folder-confirm{position:fixed;inset:0;z-index:10080;display:grid;place-items:center;padding:22px;background:rgba(8,18,34,.58);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .18s ease}
.seppuwa-folder-confirm[hidden]{display:none!important}
.seppuwa-folder-confirm.is-visible{opacity:1}
.seppuwa-folder-confirm-card{width:min(520px,100%);max-height:min(760px,calc(100dvh - 28px));overflow:auto;background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border:1px solid rgba(126,153,190,.26);border-radius:22px;box-shadow:0 30px 90px rgba(4,18,42,.28),0 8px 28px rgba(4,18,42,.14);transform:translateY(10px) scale(.985);transition:transform .2s ease;overscroll-behavior:contain}
.seppuwa-folder-confirm.is-visible .seppuwa-folder-confirm-card{transform:translateY(0) scale(1)}
.seppuwa-folder-confirm-brand{min-height:70px;display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid #e8eef6;background:rgba(248,251,255,.92);position:sticky;top:0;z-index:2;backdrop-filter:blur(12px)}
.seppuwa-folder-confirm-brandmark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#fff;border:1px solid #dbe7f6;box-shadow:0 5px 14px rgba(25,72,135,.09);overflow:hidden;flex:0 0 auto}
.seppuwa-folder-confirm-brandmark img{width:31px;height:31px;object-fit:contain}
.seppuwa-folder-confirm-brand>div:nth-child(2){min-width:0;display:grid;gap:2px}
.seppuwa-folder-confirm-brand strong{font-size:12px;letter-spacing:.09em;color:#10243f}
.seppuwa-folder-confirm-brand span{font-size:10px;color:#71819a}
.seppuwa-folder-confirm-x{margin-left:auto;width:36px;height:36px;border:1px solid #dae4f1;border-radius:11px;background:#fff;color:#53647d;display:grid;place-items:center;cursor:pointer;transition:.16s ease}
.seppuwa-folder-confirm-x:hover{background:#f1f6fc;color:#10243f;border-color:#c8d7e9}
.seppuwa-folder-confirm-x svg{width:16px;height:16px}
.seppuwa-folder-confirm-body{padding:22px 24px 18px;text-align:center}
.seppuwa-folder-confirm-hero{display:flex;justify-content:center;margin-bottom:11px}
.seppuwa-folder-confirm-hero>span{position:relative;width:66px;height:66px;border-radius:21px;display:grid;place-items:center;background:linear-gradient(145deg,#eaf3ff,#f7fbff);border:1px solid #cfe0f6;box-shadow:inset 0 0 0 5px rgba(255,255,255,.75),0 8px 20px rgba(35,91,164,.11);color:#1768db}
.seppuwa-folder-confirm-hero>span>svg{width:31px;height:31px}
.seppuwa-folder-confirm-hero i{position:absolute;right:-5px;bottom:-4px;width:25px;height:25px;border-radius:9px;background:#1768db;color:#fff;border:3px solid #fff;display:grid;place-items:center;box-shadow:0 4px 10px rgba(23,104,219,.25)}
.seppuwa-folder-confirm-hero i svg{width:11px;height:11px}
.seppuwa-folder-confirm-eyebrow{display:block;font-size:9px;letter-spacing:.13em;font-weight:850;color:#1768db;margin-bottom:5px}
.seppuwa-folder-confirm-body h2{margin:0;color:#0d1e35;font-size:22px;line-height:1.2;letter-spacing:-.025em}
.seppuwa-folder-confirm-body>p{margin:7px auto 16px;max-width:410px;color:#697a92;font-size:11px;line-height:1.55}
.seppuwa-folder-confirm-folder{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;text-align:left;gap:11px;padding:12px 13px;border:1px solid #dce7f4;border-radius:15px;background:#fff;box-shadow:0 5px 16px rgba(23,52,94,.045)}
.seppuwa-folder-confirm-folder-icon{width:44px;height:44px;border-radius:13px;background:#edf5ff;color:#1768db;display:grid;place-items:center}
.seppuwa-folder-confirm-folder-icon svg{width:22px;height:22px}
.seppuwa-folder-confirm-folder>div{min-width:0;display:grid;gap:2px}
.seppuwa-folder-confirm-folder small{font-size:9px;color:#8492a6;font-weight:700}
.seppuwa-folder-confirm-folder strong{font-size:12px;color:#132843;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seppuwa-folder-confirm-ready{display:inline-flex;align-items:center;gap:4px;color:#16804b;background:#edf9f3;border:1px solid #cdebdc;padding:5px 7px;border-radius:999px;font-size:8px;font-weight:850;white-space:nowrap}
.seppuwa-folder-confirm-ready svg{width:10px;height:10px}
.seppuwa-folder-confirm-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.seppuwa-folder-confirm-stats>div{min-width:0;padding:10px 7px;border:1px solid #e3ebf5;border-radius:13px;background:#f9fbfe;display:grid;justify-items:center;gap:3px}
.seppuwa-folder-confirm-stats span{width:26px;height:26px;border-radius:9px;background:#fff;border:1px solid #e2eaf4;color:#52729d;display:grid;place-items:center;margin-bottom:1px}
.seppuwa-folder-confirm-stats svg{width:13px;height:13px}
.seppuwa-folder-confirm-stats small{font-size:8px;color:#8a98aa;font-weight:700}
.seppuwa-folder-confirm-stats strong{max-width:100%;font-size:10px;color:#213955;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seppuwa-folder-confirm-security{margin-top:12px;padding:11px 12px;border-radius:14px;background:linear-gradient(135deg,#eff8f4,#f7fcfa);border:1px solid #d5ebe0;display:grid;grid-template-columns:34px 1fr;gap:9px;text-align:left;align-items:center}
.seppuwa-folder-confirm-security>span{width:34px;height:34px;border-radius:11px;background:#fff;color:#16804b;border:1px solid #d4eadf;display:grid;place-items:center}
.seppuwa-folder-confirm-security svg{width:17px;height:17px}
.seppuwa-folder-confirm-security>div{display:grid;gap:2px}
.seppuwa-folder-confirm-security strong{font-size:10px;color:#164b34}
.seppuwa-folder-confirm-security small{font-size:8.8px;line-height:1.45;color:#5b796b}
.seppuwa-folder-confirm-ignored{margin-top:9px;text-align:left;padding:8px 10px;border-radius:10px;background:#fff8ea;border:1px solid #f2dfb1;color:#846527;font-size:9px;line-height:1.45}
.seppuwa-folder-confirm-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:9px;padding:13px 16px 16px;border-top:1px solid #e8eef6;background:#fbfdff}
.seppuwa-folder-confirm-actions button{min-height:44px;border-radius:12px;font-size:11px;font-weight:800;cursor:pointer;transition:.16s ease}
.seppuwa-folder-confirm-cancel{border:1px solid #d4dfec;background:#fff;color:#465a75}
.seppuwa-folder-confirm-cancel:hover{background:#f3f7fb;border-color:#c4d3e4}
.seppuwa-folder-confirm-upload{border:1px solid #1768db;background:linear-gradient(180deg,#2678e7,#1768db);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 8px 18px rgba(23,104,219,.2)}
.seppuwa-folder-confirm-upload:hover{filter:brightness(.98);transform:translateY(-1px)}
.seppuwa-folder-confirm-upload svg{width:15px;height:15px}
.seppuwa-folder-confirm button:focus-visible{outline:3px solid rgba(23,104,219,.2);outline-offset:2px}
@media(max-width:600px){
  .seppuwa-folder-confirm{padding:10px;align-items:end}
  .seppuwa-folder-confirm-card{width:100%;max-height:calc(100dvh - 10px);border-radius:22px 22px 14px 14px}
  .seppuwa-folder-confirm-brand{min-height:62px;padding:10px 12px}
  .seppuwa-folder-confirm-brandmark{width:38px;height:38px;border-radius:12px}.seppuwa-folder-confirm-brandmark img{width:28px;height:28px}
  .seppuwa-folder-confirm-body{padding:17px 14px 14px}.seppuwa-folder-confirm-hero>span{width:58px;height:58px;border-radius:19px}.seppuwa-folder-confirm-body h2{font-size:20px}
  .seppuwa-folder-confirm-folder{grid-template-columns:40px minmax(0,1fr);gap:9px}.seppuwa-folder-confirm-folder-icon{width:40px;height:40px}.seppuwa-folder-confirm-ready{grid-column:1/-1;justify-self:start;margin-left:49px;margin-top:-6px}
  .seppuwa-folder-confirm-stats{gap:6px}.seppuwa-folder-confirm-stats>div{padding:9px 4px}.seppuwa-folder-confirm-stats strong{font-size:9px}
  .seppuwa-folder-confirm-actions{padding:11px 12px calc(12px + env(safe-area-inset-bottom));grid-template-columns:1fr 1.25fr;position:sticky;bottom:0}
  .seppuwa-folder-confirm-actions button{min-height:46px}
}
@media(max-width:360px){.seppuwa-folder-confirm-stats{grid-template-columns:1fr 1fr}.seppuwa-folder-confirm-stats>div:last-child{grid-column:1/-1}.seppuwa-folder-confirm-actions{grid-template-columns:1fr}.seppuwa-folder-confirm-cancel{order:2}}
@media(prefers-reduced-motion:reduce){.seppuwa-folder-confirm,.seppuwa-folder-confirm-card,.seppuwa-folder-confirm-actions button{transition:none}}

/* V98 secure folder sharing */
.folder-share-modal .timed-share-custom-row select{min-height:42px}.folder-share-modal .protected-share-file>span{background:#eaf2ff;color:#1768ef}.folder-share-modal .protected-share-note{margin-top:8px}

/* V122 public trust/navigation links */
.home-public-links{display:inline-block;margin-top:5px}.home-public-links a{color:#496b9a;text-decoration:none;font-weight:700}.home-public-links a:hover{color:#1768ef;text-decoration:underline}.dark .home-public-links a{color:#9db8dc}.dark .home-public-links a:hover{color:#74a8ff}


/* ============================================================
   V125 — Professional User Dashboard Redesign
   ============================================================ */
.home-card-kicker{display:block;margin:0 0 3px;color:#7a8ca5;font-size:9px;font-weight:850;letter-spacing:.11em;line-height:1.2}
.card-heading>div{min-width:0}.card-heading>div h2{margin:0}
.home-quick-actions-card{margin:0 0 16px;padding:18px;border:1px solid #e1e9f4;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);box-shadow:0 8px 25px rgba(22,57,102,.055)}
.home-quick-actions-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.home-quick-actions-head h2{margin:2px 0 4px;font-size:17px;line-height:1.2;color:#13233a}.home-quick-actions-head p{margin:0;color:#75859a;font-size:11px;line-height:1.45}
.home-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.home-quick-actions>button{border:1px solid #e1e9f3;background:#fff;border-radius:13px;min-height:70px;padding:11px 12px;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;color:#1b2d46;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}
.home-quick-actions>button:hover{transform:translateY(-1px);border-color:#b9cef0;box-shadow:0 7px 18px rgba(31,91,169,.08);background:#fbfdff}
.home-action-icon{width:39px;height:39px;flex:0 0 39px;border-radius:11px;display:grid;place-items:center;background:#edf5ff;color:#1768ef}.home-action-icon svg{width:19px;height:19px}
.home-quick-actions strong{display:block;font-size:11.5px;line-height:1.25}.home-quick-actions small{display:block;margin-top:3px;color:#8291a5;font-size:9px;line-height:1.25}
.home-dropzone{margin-top:11px;min-height:52px;border:1px dashed #b7cae8;border-radius:12px;background:rgba(242,247,255,.74);padding:8px 10px;display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;color:#46617f;cursor:pointer;transition:border-color .16s ease,background .16s ease}
.home-dropzone:hover,.home-dropzone.drag-active{border-color:#6f9fe9;background:#edf5ff}.home-dropzone>svg{width:20px;height:20px;color:#2471ed}.home-dropzone>span strong{display:block;color:#3a5270;font-size:10.5px}.home-dropzone>span small{display:block;margin-top:2px;color:#8a98aa;font-size:8.8px}.home-dropzone>button{border:1px solid #c7d8ef;background:#fff;color:#2869c8;border-radius:9px;min-height:34px;padding:6px 10px;font-size:9.5px;font-weight:750;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.home-dropzone>button svg{width:14px;height:14px}
.dashboard-grid-v125{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);grid-template-areas:"recent security" "storage activity" "categories categories";gap:16px;align-items:stretch}
.dashboard-grid-v125>.recent-card{grid-area:recent}.dashboard-grid-v125>.home-security-card{grid-area:security}.dashboard-grid-v125>.storage-card{grid-area:storage}.dashboard-grid-v125>.activity-card{grid-area:activity}.dashboard-grid-v125>.categories-card{grid-area:categories;margin-left:0}
.home-security-card{overflow:hidden;background:linear-gradient(155deg,#fbfdff 0%,#f6faff 100%)}
.home-security-status{margin:5px 16px 11px;padding:13px;border:1px solid #dce8f6;border-radius:13px;background:#fff;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px}
.home-security-shield{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf8f1;color:#168558}.home-security-shield svg{width:21px;height:21px}.home-security-status>div strong{display:block;color:#17314d;font-size:12px}.home-security-status>div small{display:block;margin-top:3px;color:#7b8ca1;font-size:9px;line-height:1.35}.home-security-status>b{border-radius:999px;padding:5px 8px;background:#e7f7ef;color:#14744d;font-size:8.5px;white-space:nowrap}.home-security-status>b.is-warning{background:#fff3dc;color:#9a6410}
.home-security-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px 16px}.home-security-checks>button{min-width:0;border:1px solid #e2eaf4;background:#fff;border-radius:11px;padding:9px;display:grid;grid-template-columns:30px minmax(0,1fr) 12px;align-items:center;gap:7px;text-align:left;cursor:pointer;color:#213a58}.home-security-checks>button>span{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#f0f5fb;color:#3472c8}.home-security-checks>button svg{width:15px;height:15px}.home-security-checks small{display:block;color:#8795a7;font-size:8px}.home-security-checks strong{display:block;margin-top:2px;font-size:9.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-security-checks i{font-style:normal;color:#9aabc0;font-size:16px}
.storage-card .storage-overview{min-height:200px}.activity-card .activity-list{padding-bottom:10px}
.categories-card .category-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.categories-card .category-tile{min-width:0}.categories-card .category-tile>span:last-child{min-width:0}.categories-card .category-tile strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.empty-state-action{margin-top:12px;border:0;border-radius:10px;background:#1768ef;color:#fff;min-height:38px;padding:8px 13px;font-size:10px;font-weight:800;cursor:pointer;box-shadow:0 5px 13px rgba(23,104,239,.14)}
.sidebar-group-toggle{width:100%;border:0;background:transparent;color:#8796aa;padding:7px 13px 5px;display:flex;align-items:center;justify-content:space-between;gap:8px;font:800 9px/1.2 inherit;letter-spacing:.1em;cursor:pointer;text-align:left}.sidebar-group-toggle svg{width:13px;height:13px;transition:transform .18s ease}.sidebar-group-toggle[aria-expanded="false"] svg{transform:rotate(-90deg)}.sidebar-group-panel[hidden]{display:none!important}
.top-search kbd{min-width:max-content}
.metric-card{overflow:hidden}.metric-card>div:nth-child(2){min-width:0}.metric-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:100%}

@media(max-width:1120px){
  .home-quick-actions{grid-template-columns:1fr 1fr}
  .dashboard-grid-v125{grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);grid-template-areas:"recent security" "storage activity" "categories categories"}
  .categories-card .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:941px){
  .sidebar-group-toggle{pointer-events:none;cursor:default}.sidebar-group-toggle svg{display:none}.sidebar-group-panel[hidden]{display:block!important}
}
@media(max-width:940px){
  .sidebar-group-toggle{min-height:34px;padding:8px 14px 6px;margin-top:2px}.sidebar-group-panel{overflow:hidden}
  .dashboard-grid-v125{grid-template-columns:1fr;grid-template-areas:"recent" "security" "storage" "activity" "categories"}
}
@media(max-width:700px){
  .home-quick-actions-card{padding:14px;margin-bottom:12px}.home-quick-actions-head{margin-bottom:11px}.home-quick-actions-head h2{font-size:15px}.home-quick-actions-head p{font-size:9.5px}
  .home-quick-actions{grid-template-columns:1fr 1fr;gap:8px}.home-quick-actions>button{min-height:64px;padding:9px}.home-action-icon{width:35px;height:35px;flex-basis:35px}.home-action-icon svg{width:18px;height:18px}.home-quick-actions strong{font-size:10.5px}.home-quick-actions small{font-size:8.3px}
  .home-dropzone{grid-template-columns:26px minmax(0,1fr);min-height:50px}.home-dropzone>button{grid-column:1/-1;width:100%;justify-content:center;min-height:38px}.home-dropzone>span strong{font-size:9.8px}
  .home-security-status{margin:4px 12px 9px;padding:11px}.home-security-checks{padding:0 12px 13px;gap:7px}.categories-card .category-grid{grid-template-columns:1fr 1fr}
  .storage-card .storage-overview{min-height:0}
}
@media(max-width:420px){
  .metric-grid{grid-template-columns:1fr 1fr!important}
  .home-quick-actions{grid-template-columns:1fr}.home-quick-actions>button{min-height:58px}.home-quick-actions small{font-size:8.5px}
  .home-security-checks{grid-template-columns:1fr}.home-security-checks>button{min-height:46px}
  .categories-card .category-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:360px){
  .metric-grid{grid-template-columns:1fr!important}
  .metric-card{min-height:82px!important}
  .categories-card .category-grid{grid-template-columns:1fr}
  .home-security-status{grid-template-columns:38px minmax(0,1fr)}.home-security-status>b{grid-column:2;justify-self:start}.home-security-shield{width:38px;height:38px}
}


/* =========================================================
   V126 — Mobile sidebar scroll / overlap / compactness fix
   ========================================================= */
.sidebar-scroll-area{display:contents}

@media (max-width:940px){
  .dashboard-sidebar{
    width:min(320px,88vw)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:12px 0 0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .sidebar-head{
    flex:0 0 auto;
    min-height:70px;
    padding:6px 16px 12px!important;
    background:#fff;
    border-bottom:1px solid #edf1f6;
    position:relative;
    z-index:2;
  }
  .dashboard-brand{min-width:0;max-width:calc(100% - 54px)}
  .dashboard-brand .brand-full-logo{display:block;max-width:190px;width:100%;height:auto;object-fit:contain;object-position:left center}
  .sidebar-close{flex:0 0 44px}

  .sidebar-scroll-area{
    display:block;
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:8px 12px 14px;
    scrollbar-width:thin;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
  }
  .sidebar-scroll-area::-webkit-scrollbar{width:4px}
  .sidebar-scroll-area::-webkit-scrollbar-thumb{background:#cbd7e7;border-radius:99px}

  .sidebar-group-toggle{
    flex-shrink:0!important;
    min-height:40px!important;
    margin:2px 0!important;
    padding:9px 10px 7px!important;
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:.11em!important;
  }
  .sidebar-group-toggle svg{width:14px!important;height:14px!important;flex:0 0 14px}
  .sidebar-group-panel{
    flex-shrink:0!important;
    overflow:visible!important;
    min-height:max-content;
    gap:3px!important;
    padding-bottom:2px;
  }
  .sidebar-group-panel[hidden]{display:none!important}
  .sidebar-divider{
    flex-shrink:0!important;
    margin:8px 2px!important;
  }
  .dash-nav-item{
    flex-shrink:0!important;
    min-height:44px!important;
    padding:0 10px!important;
    gap:11px!important;
    border-radius:10px!important;
    font-size:14px!important;
    line-height:1.2!important;
  }
  .compact-nav .dash-nav-item{min-height:44px!important}
  .dash-nav-item svg{width:21px!important;height:21px!important;flex:0 0 21px!important}
  .dash-nav-item span{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .dash-nav-item em{
    flex:0 0 auto!important;
    max-width:72px;
    min-width:22px!important;
    height:20px!important;
    padding:0 6px!important;
    font-size:10px!important;
    white-space:nowrap;
  }

  .sidebar-storage{
    flex:0 0 auto!important;
    margin-top:0!important;
    padding:12px 18px max(14px,env(safe-area-inset-bottom))!important;
    background:#fff;
    border-top:1px solid #e5ebf4!important;
    box-shadow:0 -8px 22px rgba(21,51,91,.045);
    position:relative;
    z-index:3;
  }
  .sidebar-storage .storage-line{font-size:11px!important}
  .sidebar-storage p{margin:6px 0!important;font-size:10.5px!important;line-height:1.35!important}
  .sidebar-storage .progress{height:5px!important}
  .storage-add-button{width:34px!important;height:34px!important;border-radius:10px!important}
}

@media (max-width:430px){
  .dashboard-sidebar{width:min(304px,86vw)!important}
  .sidebar-head{min-height:64px;padding:5px 14px 9px!important}
  .dashboard-brand .brand-full-logo{max-width:175px}
  .sidebar-scroll-area{padding:6px 10px 10px}
  .sidebar-group-toggle{min-height:36px!important;padding:7px 9px 5px!important;font-size:9.5px!important}
  .dash-nav-item,.compact-nav .dash-nav-item{min-height:41px!important;padding:0 9px!important;font-size:13.5px!important}
  .sidebar-divider{margin:6px 2px!important}
  .sidebar-storage{padding:10px 16px max(12px,env(safe-area-inset-bottom))!important}
}

@media (max-height:650px) and (max-width:940px){
  .sidebar-head{min-height:58px;padding-top:3px!important;padding-bottom:7px!important}
  .dashboard-brand .brand-full-logo{max-width:158px}
  .sidebar-group-toggle{min-height:33px!important;margin:0!important;padding-top:6px!important;padding-bottom:4px!important}
  .dash-nav-item,.compact-nav .dash-nav-item{min-height:38px!important;font-size:13px!important}
  .sidebar-divider{margin:4px 2px!important}
  .sidebar-storage{padding-top:8px!important;padding-bottom:max(9px,env(safe-area-inset-bottom))!important}
  .sidebar-storage p{margin:4px 0!important}
}

/* =========================================================
   V128: Dashboard scale, categories, advanced search & shares
   ========================================================= */
.advanced-filter-panel{grid-template-columns:repeat(4,minmax(138px,1fr))}
.advanced-search-help{grid-column:1/-2;display:flex;align-items:center;gap:9px;min-height:38px;padding:8px 11px;border:1px dashed #d7e1ed;border-radius:10px;background:#f8fbff;color:#718198;font-size:9.5px;line-height:1.45}
.advanced-search-help svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;flex:0 0 auto}.advanced-search-help b{color:#31577e;font-weight:800}
.collection-pagination-host{border-top:1px solid #edf1f5;background:#fff}
.collection-pagination{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px}
.collection-pagination-summary{font-size:9.5px;font-weight:750;color:#74859b}.collection-pagination-summary b{color:#294968}
.collection-pagination-controls{display:flex;align-items:center;gap:7px}.collection-pagination-controls span{min-width:86px;text-align:center;color:#718198;font-size:9.5px}.collection-pagination-controls span b{color:#2d4868}
.collection-pagination-controls button{min-width:36px;height:36px;border:1px solid #dbe4ee;border-radius:9px;background:#fff;color:#315171;display:grid;place-items:center;cursor:pointer;font-weight:800}.collection-pagination-controls button:hover:not(:disabled){background:#f2f7fd;border-color:#cadbec;color:#1768ef}.collection-pagination-controls button:disabled{opacity:.38;cursor:not-allowed}
.workspace-sync-note{display:inline-flex;align-items:center;gap:6px;margin-left:8px;color:#6d8199;font-size:8.5px;font-weight:700}.workspace-sync-note i{width:6px;height:6px;border-radius:50%;background:#2ca76d}.workspace-sync-note.is-syncing i{animation:v128SyncPulse 1s infinite}.workspace-sync-note.is-error i{background:#df5660}@keyframes v128SyncPulse{50%{opacity:.35;transform:scale(.75)}}
.category-manager-card{padding:0;overflow:hidden}.category-manager-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 20px 15px;border-bottom:1px solid #edf1f5}.category-manager-heading>div:first-child>span{display:block;color:#7c8da3;font-size:8.5px;font-weight:850;letter-spacing:.09em}.category-manager-heading h2{margin:4px 0 2px;color:#203b5d;font-size:17px}.category-manager-heading p{margin:0;color:#7b899b;font-size:9.5px;line-height:1.55}.category-manager-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}.category-manager-actions>span{color:#73859b;font-size:9px;font-weight:750}
.category-manager-card .category-page-grid{padding:16px 18px 20px}.category-page-card{position:relative}.category-page-card .category-manage-mini{position:absolute;right:9px;top:9px;width:28px;height:28px;border:1px solid #dfe7f0;border-radius:8px;background:#fff;color:#60758d;display:grid;place-items:center;cursor:pointer}.category-page-card .category-manage-mini svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8}
.category-manager-modal .category-manager-shell{display:grid;gap:12px}.category-create-row{display:flex;gap:8px}.category-create-row input{flex:1;min-width:0}.category-create-row button{height:42px;padding:0 14px;border:0;border-radius:10px;background:#1768ef;color:#fff;font-weight:800;cursor:pointer}.category-manager-list{display:grid;gap:7px;max-height:360px;overflow:auto;padding-right:2px}.category-manager-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #e1e8f0;border-radius:11px;background:#fff}.category-manager-row strong{display:block;color:#284361;font-size:10.5px}.category-manager-row small{display:block;margin-top:2px;color:#8491a3;font-size:8.7px}.category-manager-row-actions{display:flex;gap:5px}.category-manager-row-actions button{height:30px;padding:0 8px;border:1px solid #dce5ef;border-radius:8px;background:#fff;color:#47617e;font-size:8.4px;font-weight:800;cursor:pointer}.category-manager-row-actions button.danger{color:#cf4550}.category-manager-row-actions button:hover{background:#f4f8fc}
.category-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.category-choice-grid button{min-height:42px;padding:8px 10px;border:1px solid #dfe7f0;border-radius:10px;background:#fff;color:#35516f;text-align:left;font-size:9.5px;font-weight:800;cursor:pointer}.category-choice-grid button.active{border-color:#8eb6f7;background:#edf5ff;color:#1768ef}
.shared-links-filters{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(120px,auto)) auto;gap:8px;padding:12px 0 4px}.shared-links-filters select,.shared-search{height:38px;border:1px solid #dce5ee;border-radius:10px;background:#fff;color:#3c5572;font-size:9.5px;font-weight:700}.shared-links-filters select{padding:0 9px}.shared-search{display:flex;align-items:center;gap:7px;padding:0 10px}.shared-search svg{width:14px;height:14px;fill:none;stroke:#778aa2;stroke-width:1.8}.shared-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#294563;font:inherit}.shared-links-filter-summary{margin-top:8px;padding:8px 10px;border-radius:9px;background:#f5f8fc;color:#6f8198;font-size:9px;font-weight:700}
.share-link-card-select{display:flex;align-items:center;gap:8px}.share-link-card-select input{width:15px;height:15px;accent-color:#1768ef}.share-link-card.is-selected{outline:2px solid rgba(23,104,239,.16);border-color:#9fc0f2}.shared-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;padding:9px 10px;border:1px solid #dce6f1;border-radius:10px;background:#f8fbff}.shared-bulk-bar span{font-size:9.3px;color:#627994;font-weight:800}.shared-bulk-bar button{height:32px;padding:0 10px;border:1px solid #e0aeb2;border-radius:8px;background:#fff;color:#c53f4a;font-size:8.8px;font-weight:850;cursor:pointer}
.share-settings-extend{display:grid;grid-template-columns:1fr 110px;gap:8px;margin-top:10px}.share-settings-extend input,.share-settings-extend select{height:40px;border:1px solid #dce5ef;border-radius:9px;padding:0 10px;background:#fff;color:#314e6e;font-size:10px}.share-settings-password{margin-top:10px}.share-settings-password small{display:block;margin-top:5px;color:#8290a2;font-size:8.7px}
.search-token-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.search-token-row span{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:999px;background:#edf4fe;color:#41698f;font-size:8px;font-weight:800}

@media(max-width:1100px){.advanced-filter-panel{grid-template-columns:repeat(3,minmax(138px,1fr))}.advanced-search-help{grid-column:1/-1}.shared-links-filters{grid-template-columns:minmax(200px,1fr) repeat(2,minmax(120px,1fr));}.shared-links-filters #sharedSortFilter,.shared-links-filters #removeExpiredSharesBtn{grid-column:auto}}
@media(max-width:700px){.advanced-filter-panel{grid-template-columns:1fr 1fr}.advanced-search-help{grid-column:1/-1;font-size:8.8px}.category-manager-heading{align-items:flex-start;flex-direction:column;padding:15px 13px 11px}.category-manager-actions{width:100%;justify-content:space-between}.category-manager-card .category-page-grid{padding:12px}.shared-links-filters{grid-template-columns:1fr 1fr;padding-top:10px}.shared-search{grid-column:1/-1}.shared-links-filters #removeExpiredSharesBtn{grid-column:1/-1;width:100%}.collection-pagination{align-items:flex-start;flex-direction:column;padding:10px 12px}.collection-pagination-controls{width:100%;justify-content:space-between}.collection-pagination-controls span{flex:1}.category-create-row{flex-direction:column}.category-create-row button{width:100%}.category-manager-row{grid-template-columns:1fr}.category-manager-row-actions{justify-content:flex-end}.category-choice-grid{grid-template-columns:1fr}.shared-bulk-bar{align-items:flex-start;flex-direction:column}.shared-bulk-bar button{width:100%}.share-settings-extend{grid-template-columns:1fr}}

/* ==========================================================================\n   V129 — FULL MOBILE OPTIMIZATION FOR V128 DASHBOARD UPGRADES\n   Targets 320–430px phones while preserving tablet/desktop layouts.\n   ========================================================================== */
@media (max-width:700px){
  /* Search: avoid iOS focus zoom and keep the top bar usable on narrow phones. */
  .top-search{min-width:0;padding-inline:11px;gap:8px}
  .top-search input{font-size:16px!important;line-height:1.2}
  .top-search svg{width:18px;height:18px}

  /* Advanced search / filters: larger controls and safe wrapping. */
  .advanced-filter-panel{padding:12px 10px 13px;gap:10px;align-items:stretch}
  .advanced-filter-panel label{gap:5px}
  .advanced-filter-panel label>span{font-size:9px;line-height:1.25}
  .advanced-filter-panel select{height:48px;min-width:0;padding-inline:10px;font-size:16px;border-radius:11px}
  .advanced-search-help{min-height:0;align-items:flex-start;padding:10px;border-radius:11px;font-size:9.3px;line-height:1.55;overflow-wrap:anywhere}
  .advanced-search-help svg{margin-top:1px}
  .advanced-search-help span{min-width:0}
  .advanced-search-help b{display:inline-block;margin:1px 1px 1px 0;padding:1px 4px;border-radius:5px;background:#edf4fd}
  .clear-filter-button{height:46px;font-size:11px;border-radius:10px}

  /* Collection toolbar / bulk actions: compact vertical footprint with horizontal action rail. */
  .collection-toolbar{gap:9px}
  .collection-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .collection-actions .secondary-button{min-height:44px;height:44px;font-size:10.5px;white-space:normal;text-align:center}
  .bulk-action-bar{top:68px;padding:8px 8px 9px;gap:7px;max-width:100%;overflow:hidden}
  .bulk-selection-summary{min-height:32px}
  .bulk-selection-summary strong{font-size:11px}
  .bulk-selection-summary button{min-width:44px;min-height:32px;margin:-4px -4px -4px 0}
  .bulk-action-buttons{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:7px!important;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:1px 1px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .bulk-action-buttons::-webkit-scrollbar{display:none}
  .bulk-button{flex:0 0 118px;width:118px!important;height:44px!important;min-height:44px!important;padding-inline:9px!important;font-size:10px!important;scroll-snap-align:start;white-space:nowrap}
  .bulk-button span{min-width:0;overflow:hidden;text-overflow:ellipsis}

  /* Pagination: thumb-friendly controls, readable sync/status copy. */
  .collection-pagination{gap:8px;padding:11px 10px 12px}
  .collection-pagination-summary{font-size:9.5px;line-height:1.5;overflow-wrap:anywhere}
  .collection-pagination-controls{gap:8px}
  .collection-pagination-controls button{min-width:46px;width:46px;height:46px;border-radius:11px;font-size:18px;touch-action:manipulation}
  .collection-pagination-controls span{min-width:0;font-size:10px;line-height:1.3}

  /* Category page and manager. */
  .category-manager-card{border-radius:13px}
  .category-manager-heading{gap:10px;padding:14px 12px 12px}
  .category-manager-heading h2{font-size:16px}
  .category-manager-heading p{font-size:9.5px;line-height:1.5}
  .category-manager-actions{gap:8px}
  .category-manager-actions .secondary-button{min-height:44px;height:44px;padding-inline:10px}
  .category-manager-card .category-page-grid{padding:10px;gap:9px}
  .category-page-card{min-height:82px;padding:12px 50px 12px 12px;column-gap:10px;border-radius:12px;touch-action:manipulation}
  .category-page-card .category-icon{width:40px;height:40px}
  .category-page-card h3{font-size:12px;line-height:1.25;overflow-wrap:anywhere}
  .category-page-card p{font-size:9.5px}
  .category-page-card .progress{margin-top:10px}
  .category-page-card .category-manage-mini{width:42px;height:42px;right:7px;top:7px;border-radius:10px;touch-action:manipulation}
  .category-page-card .category-manage-mini svg{width:17px;height:17px}

  #modalBackdrop.dashboard-action-page .category-manager-modal .dashboard-action-page-body{padding-bottom:12px!important}
  .category-manager-modal .category-manager-shell{gap:10px}
  .category-create-row{gap:8px}
  .category-create-row input{width:100%;min-width:0;height:48px;padding:0 12px;border:1px solid #d7e1ee;border-radius:10px;background:#fff;color:#1a2940;font:inherit;font-size:16px;outline:0}
  .category-create-row input:focus{border-color:#6e9df1;box-shadow:0 0 0 3px rgba(33,104,243,.1)}
  .category-create-row button{height:48px;min-height:48px;border-radius:10px;font-size:11px;touch-action:manipulation}
  .category-create-row button svg{width:16px;height:16px}
  .category-manager-list{max-height:none;gap:8px;padding-right:0;overflow:visible}
  .category-manager-row{padding:11px;border-radius:11px;gap:9px}
  .category-manager-row strong{font-size:11px;line-height:1.3;overflow-wrap:anywhere}
  .category-manager-row small{font-size:9px;line-height:1.4}
  .category-manager-row-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}
  .category-manager-row-actions button{width:100%;min-width:0;height:44px;padding:0 5px;border-radius:9px;font-size:9.5px;touch-action:manipulation}
  .category-manager-lock{display:inline-flex;align-items:center;min-height:34px;color:#7b899b;font-size:9px;font-weight:800}
  .category-choice-grid{gap:8px}
  .category-choice-grid button{min-height:48px;padding:10px 11px;border-radius:10px;font-size:10.5px;line-height:1.3;touch-action:manipulation}

  /* Shared Links manager: no horizontal squeeze, phone-size inputs and buttons. */
  .shared-links-manager{margin:8px;border-radius:12px;overflow:hidden}
  .shared-links-heading{padding:11px 10px;gap:9px}
  .shared-links-heading>div{min-width:0}
  .shared-links-heading strong{font-size:11.5px;line-height:1.3}
  .shared-links-heading small{max-width:none;font-size:9.3px;line-height:1.45;overflow-wrap:anywhere}
  .shared-links-heading .secondary-button{min-height:44px;height:44px;touch-action:manipulation}
  .shared-links-overview{gap:7px;padding:9px}
  .shared-overview-card{gap:8px;padding:9px;min-height:58px}
  .shared-overview-card small{font-size:8.3px;line-height:1.25;white-space:normal}
  .shared-overview-card strong{font-size:16px}

  .shared-links-filters{gap:8px;padding:9px 9px 5px}
  .shared-search,.shared-links-filters select{height:48px;min-height:48px;border-radius:11px;font-size:16px!important}
  .shared-search{padding-inline:11px}
  .shared-search input{font-size:16px!important;min-width:0}
  .shared-links-filters select{width:100%;min-width:0;padding-inline:9px}
  .shared-links-filters #removeExpiredSharesBtn{min-height:46px;height:46px;border-radius:10px;justify-content:center}
  .shared-links-filter-summary{margin:6px 9px 2px;padding:8px 9px;font-size:9px;line-height:1.4}

  .share-link-group{padding:10px 8px}
  .share-link-group-heading{gap:8px}
  .share-link-group-heading>div{gap:8px}
  .share-link-group-heading strong{font-size:11px;line-height:1.3}
  .share-link-group-heading small{font-size:9px;line-height:1.4}
  .share-link-group-heading>b{flex:0 0 auto}
  .share-link-card{border-radius:11px}
  .share-link-card-main{align-items:flex-start;gap:8px;padding:10px 8px 7px}
  .share-link-card-select{min-width:0;gap:7px;align-items:flex-start}
  .share-link-card-select>input{width:20px;height:20px;flex:0 0 20px;margin-top:7px}
  .share-link-card .share-link-file{min-width:0;gap:8px}
  .share-link-card .share-link-file>span{width:36px;height:36px;flex-basis:36px}
  .share-link-card .share-link-file div{min-width:0}
  .share-link-card .share-link-file strong{font-size:11px;line-height:1.3;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .share-link-card .share-link-file small{max-width:100%;font-size:9px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
  .share-link-top-actions{gap:5px}
  .share-link-icon-button{width:44px;height:44px;border-radius:10px;touch-action:manipulation}
  .share-link-icon-button svg{width:17px;height:17px}
  .share-link-status-line{gap:6px;padding:0 8px 8px}
  .share-status{min-height:26px;padding-inline:8px;white-space:nowrap}
  .share-expiry-countdown{min-width:0;font-size:9.2px;line-height:1.35;overflow-wrap:anywhere}
  .share-link-details-grid{grid-template-columns:1fr 84px}
  .share-link-detail{padding:8px}
  .share-link-detail span{font-size:8px}
  .share-link-detail strong{font-size:9.3px;line-height:1.35}
  .share-link-card-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}
  .share-link-card-actions button{min-width:0;width:100%;height:44px;min-height:44px;padding-inline:7px;font-size:9.8px;white-space:normal;line-height:1.2;touch-action:manipulation}
  .share-link-card-actions button.danger{width:100%;min-width:0}
  .shared-bulk-bar{margin:7px 0;padding:8px;gap:7px;border-radius:9px}
  .shared-bulk-bar span{font-size:9.5px}
  .shared-bulk-bar button{min-height:44px;height:44px;font-size:9.5px;touch-action:manipulation}

  /* Shared-link settings action page. */
  .share-settings-file{grid-template-columns:38px minmax(0,1fr) auto;gap:8px;padding:10px}
  .share-settings-file>span{width:38px;height:38px}
  .share-settings-file>div strong{font-size:11px;line-height:1.3}
  .share-settings-file>div small{font-size:9px;line-height:1.35}
  .share-settings-expiry{padding:10px;grid-template-columns:36px minmax(0,1fr);gap:8px}
  .share-settings-expiry>span{width:36px;height:36px}
  .share-settings-expiry strong{font-size:12px;line-height:1.3;overflow-wrap:anywhere}
  .share-settings-expiry em{font-size:9px;line-height:1.35;overflow-wrap:anywhere}
  .share-settings-link>div{grid-template-columns:minmax(0,1fr) auto;gap:7px}
  .share-settings-link input{height:48px;font-size:16px;padding-inline:10px}
  .share-settings-link button{height:48px;min-width:48px;padding-inline:10px;font-size:10px;touch-action:manipulation}
  .share-settings-link #shareSettingsOpen{grid-column:1/-1;width:100%}
  .share-settings-grid{gap:7px}
  .share-settings-grid>div{padding:9px}
  .share-settings-grid strong{font-size:9.5px;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
  .share-settings-extend{gap:7px}
  .share-settings-extend input,.share-settings-extend select{height:48px;min-width:0;font-size:16px}
  .share-settings-password .share-field-heading{gap:8px;align-items:center}
  .share-settings-password .share-generate-password{min-height:40px;padding-inline:10px;touch-action:manipulation}
  .share-settings-note{font-size:9.4px;line-height:1.5}

  /* Recent documents / search locations: allow long folder names without overflow. */
  #recentDocumentTable .doc-name-cell,.full-table .doc-name-cell{min-width:0}
  #recentDocumentTable .doc-name,.full-table .doc-name{max-width:100%;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}
  .doc-location-link{max-width:100%!important;white-space:normal!important;line-height:1.35;overflow-wrap:anywhere}

  /* Cross-device status/status-like helper content may wrap instead of forcing a row wider. */
  .workspace-sync-note{margin-left:0;max-width:100%;white-space:normal;line-height:1.35}
}

@media (max-width:480px){
  /* One-column filters are much easier to operate on 320–430px phones. */
  .advanced-filter-panel{grid-template-columns:1fr!important}
  .advanced-filter-panel label,.advanced-filter-panel label:last-of-type,.advanced-search-help,.clear-filter-button{grid-column:1/-1!important}

  .collection-actions{grid-template-columns:1fr 1fr}
  .collection-actions .secondary-button{padding-inline:7px}

  .category-manager-actions{display:grid;width:100%;grid-template-columns:1fr;align-items:stretch}
  .category-manager-actions>span{text-align:left}
  .category-manager-actions .secondary-button{width:100%;justify-content:center}

  .shared-links-heading{flex-direction:column;align-items:stretch}
  .shared-links-heading .secondary-button{width:100%;justify-content:center}
  .shared-links-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
  .shared-overview-card,.shared-overview-card.views{grid-column:auto;display:grid;justify-items:start;align-content:start;gap:6px;padding:8px}
  .shared-overview-card>span{width:30px;height:30px}
  .shared-overview-card small{font-size:7.7px;letter-spacing:.2px}
  .shared-overview-card strong{font-size:15px}
  .shared-links-filters{grid-template-columns:1fr!important}
  .shared-search,.shared-links-filters select,.shared-links-filters #removeExpiredSharesBtn{grid-column:1/-1!important}

  .share-link-details-grid{grid-template-columns:1fr 78px}
  .share-link-card-actions{grid-template-columns:1fr 1fr}

  .collection-pagination-controls{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;width:100%}
  .collection-pagination-controls button{width:46px}
  .collection-pagination-controls span{display:grid;place-items:center;min-height:46px;padding:0 4px;border:1px solid #edf1f5;border-radius:10px;background:#fafcff}
}

@media (max-width:360px){
  .dashboard-main{padding-inline:8px}
  .shared-links-manager{margin:6px}
  .shared-links-overview{grid-template-columns:1fr 1fr}
  .shared-overview-card.views{grid-column:1/-1}
  .shared-overview-card{display:flex;align-items:center;min-height:56px}
  .share-link-card-main{gap:6px;padding-inline:7px}
  .share-link-card-select{gap:5px}
  .share-link-card .share-link-file{gap:6px}
  .share-link-card .share-link-file>span{width:34px;height:34px;flex-basis:34px}
  .share-link-icon-button{width:42px;height:42px}
  .share-link-details-grid{grid-template-columns:1fr}
  .share-link-detail,.share-link-detail:nth-child(3){grid-column:auto;border-right:0;border-top:1px solid #edf1f6}
  .share-link-detail:first-child{border-top:0}
  .share-link-card-actions{grid-template-columns:1fr}
  .share-settings-grid{grid-template-columns:1fr}
  .category-manager-row-actions{grid-template-columns:1fr}
  .category-manager-row-actions button{height:44px}
  .bulk-button{flex-basis:108px;width:108px!important}
}

@media (hover:none) and (pointer:coarse){
  .filter-chip,.secondary-button,.category-tile,.category-page-card,.collection-pagination-controls button,.shared-search,.shared-links-filters select,.share-link-card-actions button,.share-link-icon-button,.category-manager-row-actions button,.category-choice-grid button{touch-action:manipulation}
  .filter-chip:active,.secondary-button:active,.category-tile:active,.category-page-card:active,.share-link-card-actions button:active,.category-manager-row-actions button:active{transform:scale(.985)}
}

/* V131 — managed storage packages */
.storage-management-modal{max-width:920px!important}.storage-management-loading{min-height:260px;display:grid;place-items:center;align-content:center;gap:16px;color:#50627d}.storage-management-loading span{width:34px;height:34px;border:3px solid #dce7f6;border-top-color:#1768ef;border-radius:50%;animation:storageSpin .8s linear infinite}.storage-management-loading strong{font-size:14px}.storage-management-shell{display:grid;gap:18px}.storage-management-summary{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px;gap:12px;border:1px solid #d9e5f5;background:linear-gradient(135deg,#f8fbff,#eef5ff);border-radius:16px;padding:17px}.storage-management-summary>div{display:grid;gap:4px}.storage-management-summary small{font-size:10px;font-weight:800;letter-spacing:.08em;color:#71829a;text-transform:uppercase}.storage-management-summary strong{font-size:26px;color:#172c4b}.storage-management-summary span{font-size:11px;color:#65768d}.storage-management-stat{align-content:center;border-left:1px solid #d5e2f3;padding-left:16px}.storage-management-stat strong{font-size:22px}.storage-management-section{border:1px solid #e0e8f2;border-radius:16px;padding:16px;background:#fff}.storage-section-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:13px}.storage-section-head span{display:block;font-size:9px;font-weight:900;letter-spacing:.12em;color:#1768ef;margin-bottom:3px}.storage-section-head h3{font-size:16px;color:#172c4b;margin:0}.storage-section-head>small{font-size:10px;color:#73839a;text-align:right}.storage-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.storage-plan-card{border:1px solid #dce6f3;border-radius:14px;padding:15px;display:grid;gap:7px;background:#fbfdff}.storage-plan-card.has-pending{background:#fffaf0;border-color:#f1d79c}.storage-plan-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.storage-plan-size{font-size:11px;font-weight:900;color:#1768ef;background:#edf5ff;border-radius:999px;padding:5px 8px}.storage-plan-price{font-size:15px;font-weight:900;color:#172c4b}.storage-plan-card h4{font-size:15px;margin:3px 0 0;color:#1e304c}.storage-plan-card p{font-size:10px;color:#708097;margin:0 0 5px}.storage-plan-card button{border:0;border-radius:10px;background:#1768ef;color:white;font-size:11px;font-weight:800;padding:10px 12px;cursor:pointer}.storage-plan-card button:disabled{cursor:not-allowed;background:#c6d1e0;color:#63738a}.storage-history-list{display:grid;gap:9px}.storage-history-row{display:flex;justify-content:space-between;gap:14px;border:1px solid #e4eaf2;border-radius:12px;padding:12px}.storage-history-main{min-width:0}.storage-history-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.storage-history-title strong{font-size:12px;color:#233753}.storage-history-main small,.storage-history-main p{display:block;font-size:10px;color:#74839a;margin:4px 0 0}.storage-history-main em{display:block;font-size:10px;color:#b24d4d;margin-top:5px;font-style:normal}.storage-status{font-size:9px;font-weight:900;border-radius:999px;padding:4px 7px}.storage-status.is-pending{background:#fff2c9;color:#8a6200}.storage-status.is-approved{background:#dff7e9;color:#187447}.storage-status.is-rejected,.storage-status.is-expired{background:#ffe6e6;color:#a63c3c}.storage-status.is-cancelled{background:#edf0f4;color:#67768a}.storage-history-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.storage-history-actions a,.storage-history-actions button{border:1px solid #cedced;background:white;color:#2d5e9f;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:800;text-decoration:none;cursor:pointer}.storage-history-actions .primary-mini{background:#1768ef;color:white;border-color:#1768ef}.storage-management-note{display:flex;align-items:flex-start;gap:9px;background:#f7f9fc;border:1px solid #e1e7ef;border-radius:11px;padding:11px;font-size:10px;line-height:1.5;color:#65758b}.storage-management-note svg{width:16px;height:16px;flex:0 0 auto;color:#1768ef}.storage-inline-empty{padding:20px;text-align:center;color:#75859a;font-size:11px;border:1px dashed #d8e1ed;border-radius:11px}.storage-management-empty{min-height:220px;display:grid;place-items:center;align-content:center;text-align:center;gap:9px;padding:20px}.storage-management-empty>span{width:46px;height:46px;border-radius:14px;background:#edf5ff;color:#1768ef;display:grid;place-items:center}.storage-management-empty svg{width:22px;height:22px}.storage-management-empty strong{font-size:16px;color:#1c304d}.storage-management-empty p{font-size:11px;line-height:1.6;color:#6c7c92;max-width:560px}.storage-management-empty button{border:0;border-radius:9px;background:#1768ef;color:#fff;font-weight:800;padding:9px 14px;cursor:pointer}@media(max-width:700px){.storage-management-summary{grid-template-columns:1fr 1fr}.storage-management-summary>div:first-child{grid-column:1/-1}.storage-management-stat{border-left:0;border-top:1px solid #d5e2f3;padding:10px 0 0}.storage-plan-grid{grid-template-columns:1fr}.storage-section-head{align-items:flex-start;flex-direction:column;gap:4px}.storage-section-head>small{text-align:left}.storage-history-row{flex-direction:column}.storage-history-actions{justify-content:flex-start}.storage-management-modal{max-width:none!important}}

@keyframes storageSpin{to{transform:rotate(360deg)}}

/* V132 — expanded private file previews + unified File Details panel. */
#modalBackdrop.dashboard-action-page .dash-modal.file-details-modal{width:min(900px,100%)!important}
.preview-workspace{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;align-items:start;min-width:0}
.preview-main{min-width:0;min-height:520px}
.preview-workspace .preview-shell{width:100%;min-height:520px}
.preview-properties{position:sticky;top:82px;min-width:0;border:1px solid #dfe7f1;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 4px 16px rgba(24,50,82,.045)}
.preview-properties-head{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:11px 12px;border-bottom:1px solid #e8eef5;background:#f8fbff}
.preview-properties-head>span{width:34px;height:34px;border-radius:10px;background:#eaf2ff;color:#1768ef;display:grid;place-items:center}.preview-properties-head svg{width:16px;height:16px}
.preview-properties-head strong{display:block;color:#263c56;font-size:10.8px}.preview-properties-head small{display:block;margin-top:2px;color:#7b899b;font-size:8.8px}
.preview-properties-list{display:grid}.preview-property-row{display:grid;gap:3px;padding:9px 11px;border-bottom:1px solid #edf1f6}.preview-property-row:last-child{border-bottom:0}.preview-property-row span{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.34px;color:#8a96a7}.preview-property-row strong{font-size:9.7px;line-height:1.42;color:#354b65;overflow-wrap:anywhere;font-weight:750}
.preview-document-shell,.preview-text-shell,.preview-sheet-shell{align-items:stretch!important;justify-content:stretch!important;background:#f2f5f9!important;overflow:auto!important}
.docx-preview,.markdown-preview{width:min(760px,100%);min-height:100%;margin:0 auto;padding:34px 40px;background:#fff;color:#273a53;box-shadow:0 2px 16px rgba(22,46,78,.06);font-size:12px;line-height:1.75}
.docx-preview p{margin:0 0 11px}.markdown-preview p{margin:0 0 9px}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{margin:18px 0 8px;color:#19324f;line-height:1.25}.markdown-preview h1{font-size:23px}.markdown-preview h2{font-size:19px}.markdown-preview h3{font-size:16px}.markdown-preview h4{font-size:14px}.markdown-preview blockquote{margin:10px 0;padding:9px 12px;border-left:3px solid #6f9df0;background:#f5f8fd;color:#5a6d84}.markdown-preview pre{overflow:auto;margin:11px 0;padding:12px;border-radius:9px;background:#101827;color:#e6edf7;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.markdown-preview code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.markdown-preview p code{padding:1px 4px;border-radius:4px;background:#eef3f8;color:#285187}.markdown-preview hr{border:0;border-top:1px solid #e0e7f0;margin:16px 0}.md-list-item{display:grid;grid-template-columns:22px minmax(0,1fr);gap:5px;align-items:start}.md-list-item>span{color:#66809e;text-align:right}.md-list-item p{margin:0 0 5px}.md-space{height:8px}
.preview-text-shell .preview-text{min-height:520px;border:0;border-radius:0;background:#fff}
.xlsx-preview{width:100%;min-width:0;display:flex;flex-direction:column;background:#fff}.xlsx-sheet-tabs{display:flex;gap:6px;overflow-x:auto;padding:9px;border-bottom:1px solid #dfe7f0;background:#f8fbff;scrollbar-width:thin}.xlsx-sheet-tabs button{flex:0 0 auto;min-height:34px;border:1px solid #d8e2ed;border-radius:8px;background:#fff;color:#566c85;padding:0 11px;font:inherit;font-size:9.6px;font-weight:800;cursor:pointer}.xlsx-sheet-tabs button.active{border-color:#1768ef;background:#1768ef;color:#fff}.xlsx-sheet-host{min-width:0;flex:1;overflow:auto}.xlsx-table-scroll{width:100%;max-height:620px;overflow:auto}.xlsx-table{border-collapse:separate;border-spacing:0;min-width:max-content;background:#fff;font-size:10px;color:#32475f}.xlsx-table th,.xlsx-table td{min-width:94px;max-width:220px;height:32px;padding:6px 8px;border-right:1px solid #e5ebf2;border-bottom:1px solid #e5ebf2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xlsx-table thead th{position:sticky;top:0;z-index:3;background:#f3f6fa;color:#61758d;font-weight:800;text-align:center}.xlsx-table tbody th{position:sticky;left:0;z-index:2;min-width:46px;max-width:46px;background:#f7f9fc;color:#7a889a;text-align:right}.xlsx-table .xlsx-corner{position:sticky;left:0;z-index:4;min-width:46px;max-width:46px}
.file-details-summary{display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;align-items:center;padding:14px;border:1px solid #dfe8f2;border-radius:12px;background:#f8fbff;margin-bottom:14px}.file-details-summary .file-type-icon{width:48px;height:48px;border-radius:12px}.file-details-summary>div{min-width:0}.file-details-summary strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#203750;font-size:12.5px}.file-details-summary small{display:block;margin-top:4px;color:#76859a;font-size:9.8px}
.file-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.file-detail-item{min-width:0;display:grid;grid-template-columns:35px minmax(0,1fr);gap:9px;align-items:center;padding:11px;border:1px solid #e0e8f2;border-radius:11px;background:#fff}.file-detail-item.wide{grid-column:1/-1}.file-detail-item>span{width:35px;height:35px;border-radius:10px;background:#eef4fb;color:#53739a;display:grid;place-items:center}.file-detail-item svg{width:16px;height:16px}.file-detail-item div{min-width:0}.file-detail-item small{display:block;color:#8491a3;font-size:8.3px;font-weight:800;text-transform:uppercase;letter-spacing:.34px}.file-detail-item strong{display:block;margin-top:3px;color:#314861;font-size:10px;line-height:1.45;overflow-wrap:anywhere}
.file-details-note{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;margin-top:12px;padding:11px 12px;border:1px solid #dbe7f5;border-radius:10px;background:#f6faff;color:#61758c;font-size:9.5px;line-height:1.55}.file-details-note svg{width:16px;height:16px;color:#4f79ad}.file-details-note b{color:#395a80}

@media(max-width:900px){
  .preview-workspace{grid-template-columns:minmax(0,1fr) 230px}.preview-main,.preview-workspace .preview-shell{min-height:460px}.docx-preview,.markdown-preview{padding:28px 30px}
}
@media(max-width:760px){
  .preview-workspace{grid-template-columns:1fr;gap:10px}.preview-main{min-height:0}.preview-workspace .preview-shell{min-height:58dvh}.preview-properties{position:static;top:auto;order:2;border-radius:11px}.preview-properties-head{padding:10px 11px}.preview-properties-list{grid-template-columns:1fr 1fr}.preview-property-row{min-width:0}.preview-property-row:nth-child(odd){border-right:1px solid #edf1f6}.docx-preview,.markdown-preview{width:100%;min-height:58dvh;padding:22px 18px;font-size:11.5px}.preview-text-shell .preview-text{min-height:58dvh;font-size:10.8px!important}.xlsx-table-scroll{max-height:58dvh}.xlsx-table th,.xlsx-table td{min-width:86px;height:31px;padding:5px 7px}.file-details-grid{grid-template-columns:1fr}.file-detail-item.wide{grid-column:auto}.file-details-summary{margin-bottom:11px;padding:12px}.file-details-summary .file-type-icon{width:44px;height:44px}
  #modalBackdrop.dashboard-action-page .preview-modal .modal-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:480px){
  .preview-properties-list{grid-template-columns:1fr}.preview-property-row:nth-child(odd){border-right:0}.preview-workspace .preview-shell{min-height:52dvh}.docx-preview,.markdown-preview{min-height:52dvh;padding:18px 14px}.markdown-preview h1{font-size:20px}.markdown-preview h2{font-size:17px}.xlsx-sheet-tabs{padding:7px}.xlsx-sheet-tabs button{min-height:36px}.xlsx-table-scroll{max-height:52dvh}.file-details-summary{grid-template-columns:42px minmax(0,1fr);gap:10px}.file-details-summary .file-type-icon{width:42px;height:42px}.file-detail-item{padding:10px;grid-template-columns:34px minmax(0,1fr)}
}
@media(max-width:380px){
  #modalBackdrop.dashboard-action-page .preview-modal .modal-actions{grid-template-columns:1fr!important}
  .preview-workspace .preview-shell,.docx-preview,.markdown-preview,.preview-text-shell .preview-text{min-height:48dvh}
}

/* V133 — monthly storage subscriptions, downgrade lock state, purchase flow */
.storage-subscription-banner{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid #dbe6f4;border-radius:13px;background:#f7faff;padding:12px 13px}.storage-subscription-banner>span{width:42px;height:42px;border-radius:12px;background:#eaf2ff;color:#1768ef;display:grid;place-items:center}.storage-subscription-banner svg{width:19px;height:19px}.storage-subscription-banner b{display:block;color:#29425e;font-size:11px}.storage-subscription-banner p{margin:3px 0 0;color:#708096;font-size:9.6px;line-height:1.5}.storage-subscription-banner button{border:1px solid #bfd3ef;background:#fff;color:#1768ef;border-radius:9px;min-height:36px;padding:0 11px;font:inherit;font-size:9.4px;font-weight:850;cursor:pointer}.storage-subscription-banner.is-active{background:#f4fbf7;border-color:#cee8d9}.storage-subscription-banner.is-active>span{background:#e7f7ee;color:#14834d}.storage-subscription-banner.is-due{background:#fffaf0;border-color:#f1dfba}.storage-subscription-banner.is-due>span{background:#fff2ce;color:#9a6a05}.storage-subscription-banner.is-locked{background:#fff5f5;border-color:#f0cfd2}.storage-subscription-banner.is-locked>span{background:#ffe9eb;color:#bd3040}.storage-subscription-banner.is-locked button{border-color:#edc5ca;color:#aa2635}
.storage-plan-card{position:relative;overflow:hidden}.storage-plan-card.is-recommended{border-color:#9fc1f4;box-shadow:0 8px 22px rgba(23,104,239,.09)}.storage-plan-flags{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.storage-plan-flags span,.storage-plan-flags b{font-size:7.7px;font-weight:900;letter-spacing:.55px;border-radius:999px;padding:4px 7px}.storage-plan-flags span{background:#edf4ff;color:#1768ef}.storage-plan-flags b{background:#1768ef;color:#fff}.storage-plan-price{display:grid!important;justify-items:end;line-height:1.1}.storage-plan-price small{display:block;margin-top:3px;font-size:7.5px;font-weight:750;color:#8190a4}.storage-plan-benefits{display:grid;gap:5px;margin:9px 0 11px}.storage-plan-benefits span{position:relative;padding-left:14px;color:#65768d;font-size:8.8px;line-height:1.4}.storage-plan-benefits span:before{content:'✓';position:absolute;left:0;top:0;color:#13844e;font-weight:900}.storage-management-stat>span{display:block;margin-top:2px;color:#7f8da0;font-size:8px}
.storage-purchase-confirm{display:grid;gap:13px}.storage-confirm-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:14px;border:1px solid #d9e6f6;border-radius:13px;background:#f7faff}.storage-confirm-hero>span{font-size:18px;font-weight:900;color:#1768ef}.storage-confirm-hero strong{display:block;color:#263e59;font-size:12px}.storage-confirm-hero small{display:block;margin-top:3px;color:#73839a;font-size:9.5px}.storage-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.storage-confirm-grid>div{border:1px solid #e0e8f2;border-radius:10px;padding:10px;background:#fff}.storage-confirm-grid small{display:block;color:#8390a2;font-size:7.9px;text-transform:uppercase;letter-spacing:.35px;font-weight:850}.storage-confirm-grid strong{display:block;margin-top:4px;color:#324a65;font-size:10px}.storage-monthly-terms{border:1px solid #efdcb6;background:#fffaf0;border-radius:11px;padding:12px}.storage-monthly-terms b{display:block;color:#7a5509;font-size:10.5px}.storage-monthly-terms p{margin:5px 0 0;color:#75633d;font-size:9px;line-height:1.55}.storage-confirm-check{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;border:1px solid #dfe7f2;border-radius:10px;padding:11px;cursor:pointer}.storage-confirm-check input{width:16px;height:16px;margin:0;accent-color:#1768ef}.storage-confirm-check span{color:#566b84;font-size:9.2px;line-height:1.5}
.storage-request-success{display:grid;justify-items:center;text-align:center;gap:9px;padding:4px 0}.storage-request-success>span{width:52px;height:52px;border-radius:16px;background:#e9f8f0;color:#14834d;display:grid;place-items:center}.storage-request-success>span svg{width:24px;height:24px}.storage-request-success h3{margin:0;color:#243c58;font-size:15px}.storage-request-success>p{max-width:520px;margin:0;color:#728197;font-size:9.7px;line-height:1.55}.storage-request-success>div{display:grid;gap:3px;width:100%;padding:12px;border:1px solid #dfe8f2;border-radius:11px;background:#f9fbfe}.storage-request-success>div small{color:#8491a3;font-size:8.5px}.storage-request-success>div strong{color:#304b68;font-size:10px}.storage-request-success ol{width:100%;text-align:left;margin:3px 0 0;padding-left:20px;color:#61738a;font-size:9.2px;line-height:1.65}
.storage-lock-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;align-items:start;padding:13px;border:1px solid #f0cfd2;border-radius:12px;background:#fff6f6}.storage-lock-card>span{width:44px;height:44px;border-radius:12px;background:#ffe9eb;color:#b82f3f;display:grid;place-items:center}.storage-lock-card svg{width:19px;height:19px}.storage-lock-card strong{display:block;color:#7f2530;font-size:11px}.storage-lock-card p{margin:4px 0 0;color:#775b60;font-size:9.5px;line-height:1.55}.storage-lock-rules{display:grid;gap:6px;margin-top:11px;padding:12px;border:1px solid #dfe7f2;border-radius:11px;background:#f8fafc}.storage-lock-rules b{color:#334e6b;font-size:10px}.storage-lock-rules span{position:relative;padding-left:14px;color:#6d7c90;font-size:9px;line-height:1.5}.storage-lock-rules span:before{content:'•';position:absolute;left:3px;color:#1768ef;font-weight:900}
.doc-row.storage-locked-row{background:linear-gradient(90deg,#fffafa,#fff)}.doc-row.storage-locked-row .file-type-icon{filter:saturate(.55);opacity:.8}.storage-lock-badge{display:inline-flex;align-items:center;gap:3px;border:1px solid #ecc8cd;background:#fff0f1;color:#a82b39;border-radius:999px;padding:2px 5px;font-size:7.3px;font-weight:850;white-space:nowrap}.storage-lock-badge svg{width:9px;height:9px}.doc-action-menu .storage-unlock-action{color:#a62d3a!important;background:#fff8f8!important}.doc-action-menu .storage-unlock-action svg{color:#b52c3c!important}
@media(max-width:700px){.storage-subscription-banner{grid-template-columns:40px minmax(0,1fr);padding:11px}.storage-subscription-banner>button{grid-column:1/-1;width:100%;min-height:40px}.storage-confirm-grid{grid-template-columns:1fr 1fr}.storage-purchase-confirm-modal,.storage-request-success-modal,.storage-lock-modal{max-width:none!important}.storage-plan-benefits{grid-template-columns:1fr 1fr}.storage-plan-benefits span:last-child{grid-column:1/-1}.storage-lock-badge{font-size:7px}}
@media(max-width:420px){.storage-confirm-grid{grid-template-columns:1fr}.storage-plan-benefits{grid-template-columns:1fr}.storage-plan-benefits span:last-child{grid-column:auto}.storage-subscription-banner{grid-template-columns:36px minmax(0,1fr)}.storage-subscription-banner>span{width:36px;height:36px}.storage-lock-card{grid-template-columns:38px minmax(0,1fr)}.storage-lock-card>span{width:38px;height:38px}}


/* V136 — instant/smooth Documents navigation skeleton */
.collection-soft-skeleton{display:grid;gap:0;border:1px solid #e6edf5;border-radius:16px;overflow:hidden;background:#fff}
.collection-soft-skeleton-row{min-height:70px;display:grid;grid-template-columns:42px minmax(0,1fr) 32px;align-items:center;gap:13px;padding:11px 15px;border-bottom:1px solid #edf2f7}
.collection-soft-skeleton-row:last-child{border-bottom:0}
.collection-soft-skeleton-icon,.collection-soft-skeleton-action,.collection-soft-skeleton-copy i,.collection-soft-skeleton-copy b{display:block;background:linear-gradient(90deg,#eef3f8 20%,#f8fafc 42%,#eef3f8 64%);background-size:220% 100%;animation:collectionSoftSkeleton 1.15s ease-in-out infinite}
.collection-soft-skeleton-icon{width:42px;height:42px;border-radius:12px}
.collection-soft-skeleton-action{width:28px;height:28px;border-radius:9px}
.collection-soft-skeleton-copy{display:grid;gap:8px;min-width:0}
.collection-soft-skeleton-copy i{width:min(280px,72%);height:11px;border-radius:999px}
.collection-soft-skeleton-copy b{width:var(--soft-skeleton-width,62%);max-width:190px;height:8px;border-radius:999px}
@keyframes collectionSoftSkeleton{0%{background-position:100% 0}100%{background-position:-120% 0}}
@media(max-width:700px){.collection-soft-skeleton{border-left:0;border-right:0;border-radius:12px}.collection-soft-skeleton-row{min-height:64px;grid-template-columns:38px minmax(0,1fr) 28px;gap:10px;padding:10px 8px}.collection-soft-skeleton-icon{width:38px;height:38px;border-radius:10px}.collection-soft-skeleton-action{width:26px;height:26px}}
@media(prefers-reduced-motion:reduce){.collection-soft-skeleton-icon,.collection-soft-skeleton-action,.collection-soft-skeleton-copy i,.collection-soft-skeleton-copy b{animation:none}}

/* =========================================================
   V140 — Face Login inactive warning indicators
   ========================================================= */
.face-login-warning{
  width:16px;
  height:16px;
  min-width:16px;
  border:1px solid #f0c36a;
  border-radius:999px;
  background:#fff3d8;
  color:#9a6200;
  display:inline-grid;
  place-items:center;
  font:900 10px/1 Arial,sans-serif;
  font-style:normal;
  box-shadow:0 3px 9px rgba(163,104,0,.14);
  vertical-align:middle;
  animation:faceWarningSoftPulse 2.8s ease-in-out 1;
}
.face-login-warning[hidden]{display:none!important}
@keyframes faceWarningSoftPulse{
  0%,100%{transform:scale(1);box-shadow:0 3px 9px rgba(163,104,0,.14)}
  45%{transform:scale(1.08);box-shadow:0 0 0 5px rgba(245,175,48,.10),0 4px 10px rgba(163,104,0,.16)}
}

.home-card-kicker .face-login-warning--protection{margin-left:5px;transform:translateY(-1px)}
.sidebar-group-toggle>span{display:inline-flex;align-items:center;gap:6px;min-width:0}
.face-login-warning--section{width:15px;height:15px;min-width:15px;font-size:9px;letter-spacing:0}
.face-login-warning--nav{margin-left:auto;flex:0 0 auto}
.face-nav-badge.is-warning{background:#fff3d8!important;color:#956000!important;box-shadow:inset 0 0 0 1px #f0d39a}

.profile-avatar-wrap{position:relative;display:grid;place-items:center;flex:0 0 auto}
.face-login-warning--avatar{
  position:absolute;
  right:-4px;
  top:-4px;
  width:17px;
  height:17px;
  min-width:17px;
  border:2px solid #fff;
  background:#f6a91a;
  color:#fff;
  font-size:10px;
  box-shadow:0 4px 10px rgba(170,102,0,.24);
  pointer-events:none;
  z-index:2;
}

@media(max-width:700px){
  .face-login-warning{width:15px;height:15px;min-width:15px;font-size:9px}
  .face-login-warning--avatar{right:-3px;top:-3px;width:16px;height:16px;min-width:16px;border-width:2px;font-size:9px}
  .face-login-warning--section{width:14px;height:14px;min-width:14px;font-size:8px}
  .face-login-warning--nav{margin-left:4px}
  .face-nav-badge.is-warning{padding-inline:6px!important}
}

@media(prefers-reduced-motion:reduce){
  .face-login-warning{animation:none!important}
}

/* =========================================================
   V144 — Face Login warning indicators in all user-facing entry points
   ========================================================= */
.face-login-row-label{display:inline-flex!important;align-items:center;gap:5px;min-width:0}
.face-login-warning--row{width:15px;height:15px;min-width:15px;font-size:9px;flex:0 0 auto}
.user-popover #profileBtn>span{min-width:0}
.face-login-warning--menu{margin-left:auto;flex:0 0 auto;width:17px;height:17px;min-width:17px;font-size:10px}
.profile-face-title{display:flex!important;align-items:center;gap:6px;min-width:0}
.face-login-warning--profile-row{width:17px;height:17px;min-width:17px;font-size:10px;flex:0 0 auto}
@media(max-width:700px){
  .face-login-warning--row{width:16px;height:16px;min-width:16px;font-size:9px}
  .face-login-warning--menu{width:17px;height:17px;min-width:17px;font-size:10px}
  .face-login-warning--profile-row{width:17px;height:17px;min-width:17px;font-size:10px}
}

/* V141 — Security & Alerts Center */
.notification-view-all{width:100%;min-height:36px;border:0;border-top:1px solid #e8edf4;background:#fff;color:#1768ef;display:flex;align-items:center;justify-content:space-between;padding:0 11px;font:800 10px/1 inherit;cursor:pointer;border-radius:0 0 10px 10px}.notification-view-all:hover{background:#f7faff}.notification-view-all span:last-child{font-size:18px;line-height:1}
.alerts-center-view{width:100%}.alerts-center-card{overflow:hidden}.alerts-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 21px 16px;border-bottom:1px solid #e8edf4}.alerts-center-kicker{display:block;font-size:8px;font-weight:900;letter-spacing:.14em;color:#1768ef;margin-bottom:5px}.alerts-center-head h2{margin:0;color:#1a2c43;font-size:20px;letter-spacing:-.02em}.alerts-center-head p{margin:5px 0 0;max-width:650px;color:#77869a;font-size:10px;line-height:1.55}.alerts-center-head-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.alerts-center-head-actions>span{font-size:9px;font-weight:800;color:#6e7e94;margin-right:3px}.alerts-filter-row{display:flex;gap:7px;overflow-x:auto;padding:12px 18px;border-bottom:1px solid #edf1f5;scrollbar-width:none}.alerts-filter-row::-webkit-scrollbar{display:none}.alerts-filter-row button{flex:0 0 auto;min-height:31px;padding:0 12px;border-radius:999px;border:1px solid #dce4ee;background:#fff;color:#5c6e84;font-size:8.8px;font-weight:850;cursor:pointer}.alerts-filter-row button.active{background:#1768ef;border-color:#1768ef;color:#fff}.alerts-center-list{display:grid;gap:9px;padding:14px 18px 18px}.alerts-center-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px;border:1px solid #e3e9f1;border-radius:12px;background:#fff}.alerts-center-item.is-unread{background:#f8fbff;border-color:#d9e6f8}.alerts-center-item.kind-warning{background:#fffaf0}.alerts-center-item.kind-danger{background:#fff7f7;border-color:#f2d2d6}.alerts-center-item.is-read{opacity:.82}.alerts-center-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#edf4ff;color:#1768ef}.alerts-center-icon svg{width:19px;height:19px}.alerts-center-item.kind-warning .alerts-center-icon{background:#fff0cf;color:#a66c00}.alerts-center-item.kind-danger .alerts-center-icon{background:#ffe9eb;color:#c92f3c}.alerts-center-copy{min-width:0}.alerts-center-copy>span{display:block;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#1768ef}.alerts-center-copy strong{display:block;margin-top:4px;font-size:12.5px;color:#263a55}.alerts-center-copy p{margin:4px 0 0;font-size:9.5px;line-height:1.5;color:#6f7f94;overflow-wrap:anywhere}.alerts-center-copy small{display:block;margin-top:6px;font-size:8.5px;color:#93a0b1}.alerts-center-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap;max-width:260px}.alerts-center-actions button{min-height:30px;padding:0 9px;border-radius:8px;border:1px solid #d9e3ef;background:#fff;color:#315172;font-size:8px;font-weight:850;cursor:pointer}.alerts-center-actions button:hover{background:#f5f8fc}.alerts-center-actions .danger-lite{border-color:#efc9ce;background:#fff5f5;color:#bd2f3a}.alerts-center-empty{min-height:230px;display:grid;place-items:center;text-align:center;align-content:center;gap:6px;color:#7a8799}.alerts-center-empty>span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#eef5ff;color:#1768ef}.alerts-center-empty svg{width:23px;height:23px}.alerts-center-empty h3{margin:4px 0 0;color:#2b405d;font-size:14px}.alerts-center-empty p{margin:0;max-width:370px;font-size:9.5px;line-height:1.55}.security-alert-response-steps{display:grid;gap:8px;margin-top:14px}.security-alert-response-steps span{display:flex;align-items:center;gap:9px;padding:10px 11px;border:1px solid #e4eaf2;border-radius:10px;background:#fafcff;font-size:9.5px;color:#51647c}.security-alert-response-steps b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#1768ef;color:#fff;font-size:9px}.security-hero-card.is-danger{border-color:#f0cbd0;background:#fff8f8}.security-hero-card.is-danger strong{color:#c72f3c}.security-hero-card.is-neutral strong{color:#4b617c}
@media(max-width:700px){.notification-view-all{min-height:34px;font-size:9px}.alerts-center-head{padding:14px 12px 12px;display:grid;gap:10px}.alerts-center-head h2{font-size:17px}.alerts-center-head p{font-size:8.8px}.alerts-center-head-actions{justify-content:flex-start}.alerts-center-head-actions>span{width:100%}.alerts-filter-row{padding:10px 11px;gap:6px}.alerts-filter-row button{min-height:29px;padding:0 10px;font-size:8px}.alerts-center-list{padding:10px 10px max(16px,env(safe-area-inset-bottom));gap:8px}.alerts-center-item{grid-template-columns:36px minmax(0,1fr);gap:9px;padding:10px}.alerts-center-icon{width:35px;height:35px}.alerts-center-icon svg{width:17px;height:17px}.alerts-center-copy>span{font-size:7.3px}.alerts-center-copy strong{font-size:11.2px}.alerts-center-copy p{font-size:8.6px}.alerts-center-copy small{font-size:7.8px}.alerts-center-actions{grid-column:2;justify-content:flex-start;max-width:none}.alerts-center-actions button{min-height:28px;font-size:7.5px;padding:0 8px}}
.security-workspace-v8 .security-main-grid{grid-template-columns:1fr}


/* =========================================================
   V142 — Mobile Security & Alerts optimization + pagination
   ========================================================= */
.alerts-pagination-host{
  padding:0 18px 18px;
}
.alerts-pagination-host[hidden]{display:none!important}
.alerts-pagination{
  min-height:52px;
  display:grid;
  grid-template-columns:minmax(90px,1fr) auto minmax(90px,1fr);
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid #e3e9f1;
  border-radius:12px;
  background:#fbfdff;
}
.alerts-pagination-summary,
.alerts-pagination-page{
  font-size:9px;
  font-weight:800;
  color:#718198;
}
.alerts-pagination-page{text-align:right}
.alerts-pagination-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.alerts-page-numbers{display:flex;gap:5px}
.alerts-pagination-controls button{
  width:32px;
  height:32px;
  min-width:32px;
  border:1px solid #d9e3ef;
  border-radius:9px;
  background:#fff;
  color:#35506f;
  font-size:9px;
  font-weight:850;
  cursor:pointer;
}
.alerts-pagination-controls button.active{
  background:#1768ef;
  border-color:#1768ef;
  color:#fff;
  box-shadow:0 5px 12px rgba(23,104,239,.17);
}
.alerts-pagination-controls button:disabled{
  opacity:.38;
  cursor:not-allowed;
}
.alerts-page-arrow{font-size:17px!important;line-height:1}

@media(max-width:700px){
  /* Bell popover: smaller, anchored to the bell side, with an internal
     scroll region so it never covers most of the dashboard. */
  .notifications-popover{
    position:fixed!important;
    z-index:190!important;
    top:68px!important;
    right:8px!important;
    left:auto!important;
    width:min(286px,calc(100vw - 64px))!important;
    max-width:286px!important;
    height:auto!important;
    max-height:min(320px,calc(100dvh - 82px))!important;
    display:flex!important;
    flex-direction:column!important;
    padding:8px!important;
    border-radius:15px!important;
    overflow:hidden!important;
    box-shadow:0 16px 42px rgba(12,35,68,.22)!important;
  }
  .notifications-popover[hidden]{display:none!important}
  .notifications-popover .notification-popover-title{
    flex:0 0 auto!important;
    gap:7px!important;
    padding:3px 3px 8px!important;
  }
  .notifications-popover .notification-popover-title>div{min-width:0!important}
  .notifications-popover .notification-popover-title>div>strong{
    font-size:12.5px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }
  .notifications-popover .notification-popover-title>div>small{
    display:block!important;
    margin-top:2px!important;
    max-width:155px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:8.3px!important;
  }
  .notifications-popover .notification-popover-title>button{
    flex:0 0 auto!important;
    min-height:28px!important;
    padding:0 4px!important;
    font-size:8.6px!important;
    white-space:nowrap!important;
  }
  .notifications-popover #notificationList{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:218px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    display:grid!important;
    gap:6px!important;
    padding:0 1px 1px 0!important;
  }
  .notifications-popover .notification-item{
    grid-template-columns:31px minmax(0,1fr)!important;
    gap:7px!important;
    padding:7px 8px!important;
    border-radius:10px!important;
  }
  .notifications-popover .notification-item .notification-icon,
  .notifications-popover .notification-item span:first-child{
    width:31px!important;
    height:31px!important;
  }
  .notifications-popover .notification-item .notification-icon svg{
    width:15px!important;
    height:15px!important;
  }
  .notifications-popover .notification-item>div{padding-right:6px!important}
  .notifications-popover .notification-item .notification-meta{
    margin:0 0 2px!important;
    font-size:7px!important;
    letter-spacing:.08em!important;
  }
  .notifications-popover .notification-item strong{
    font-size:10.6px!important;
    line-height:1.24!important;
  }
  .notifications-popover .notification-item small{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    margin-top:2px!important;
    font-size:8.2px!important;
    line-height:1.32!important;
  }
  .notifications-popover .notification-item em{
    min-height:0!important;
    margin-top:3px!important;
    font-size:7.6px!important;
  }
  .notifications-popover .notification-item.is-unread:after{
    right:7px!important;
    top:8px!important;
    width:5px!important;
    height:5px!important;
  }
  .notifications-popover .notification-limit-note{
    padding:5px!important;
    font-size:7.6px!important;
  }
  .notification-view-all{
    flex:0 0 auto!important;
    min-height:32px!important;
    margin-top:5px!important;
    padding:0 8px!important;
    border-radius:0 0 9px 9px!important;
    font-size:8.7px!important;
  }
  .notification-view-all span:last-child{font-size:16px!important}

  /* Full alerts page */
  .alerts-center-view{min-width:0!important}
  .alerts-center-card{
    min-width:0!important;
    overflow:hidden!important;
    border-radius:14px!important;
  }
  .alerts-center-head{
    padding:13px 11px 11px!important;
    gap:9px!important;
  }
  .alerts-center-kicker{font-size:7.4px!important;margin-bottom:4px!important}
  .alerts-center-head h2{font-size:16px!important;line-height:1.2!important}
  .alerts-center-head p{font-size:8.5px!important;line-height:1.45!important;margin-top:4px!important}
  .alerts-center-head-actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
  }
  .alerts-center-head-actions>span{
    grid-column:1/-1!important;
    width:auto!important;
    margin:0!important;
    font-size:8.2px!important;
  }
  .alerts-center-head-actions .secondary-button{
    width:100%!important;
    min-width:0!important;
    height:32px!important;
    justify-content:center!important;
    padding:0 8px!important;
    font-size:8.3px!important;
  }
  .alerts-filter-row{
    gap:6px!important;
    padding:9px 10px!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .alerts-filter-row button{
    min-height:30px!important;
    padding:0 10px!important;
    font-size:8px!important;
  }
  .alerts-center-list{
    gap:7px!important;
    padding:9px 9px 10px!important;
  }
  .alerts-center-item{
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:8px!important;
    padding:9px!important;
    border-radius:11px!important;
  }
  .alerts-center-icon{width:34px!important;height:34px!important}
  .alerts-center-icon svg{width:16px!important;height:16px!important}
  .alerts-center-copy>span{font-size:7.1px!important}
  .alerts-center-copy strong{font-size:10.9px!important;line-height:1.3!important}
  .alerts-center-copy p{font-size:8.3px!important;line-height:1.42!important;margin-top:3px!important}
  .alerts-center-copy small{font-size:7.6px!important;margin-top:5px!important}
  .alerts-center-actions{
    grid-column:2!important;
    display:flex!important;
    justify-content:flex-start!important;
    gap:5px!important;
    max-width:none!important;
    margin-top:1px!important;
  }
  .alerts-center-actions button{
    min-height:29px!important;
    padding:0 8px!important;
    border-radius:8px!important;
    font-size:7.5px!important;
  }

  .alerts-pagination-host{padding:0 9px max(12px,env(safe-area-inset-bottom))!important}
  .alerts-pagination{
    grid-template-columns:1fr auto!important;
    gap:8px!important;
    min-height:0!important;
    padding:8px 9px!important;
    border-radius:11px!important;
  }
  .alerts-pagination-summary{
    grid-column:1!important;
    grid-row:1!important;
    font-size:7.8px!important;
  }
  .alerts-pagination-page{
    grid-column:1!important;
    grid-row:2!important;
    text-align:left!important;
    font-size:7.6px!important;
  }
  .alerts-pagination-controls{
    grid-column:2!important;
    grid-row:1/3!important;
    gap:4px!important;
  }
  .alerts-page-numbers{gap:4px!important}
  .alerts-pagination-controls button{
    width:29px!important;
    height:29px!important;
    min-width:29px!important;
    border-radius:8px!important;
    font-size:8px!important;
  }
  .alerts-page-arrow{font-size:15px!important}
}

@media(max-width:360px){
  .notifications-popover{
    right:6px!important;
    width:calc(100vw - 48px)!important;
    max-width:none!important;
  }
  .alerts-pagination-controls button{
    width:27px!important;
    height:27px!important;
    min-width:27px!important;
  }
}

/* =========================================================
   V143 — Notification bell overlap / row-compression fix
   Prevent CSS Grid from squeezing many alert rows into the
   popover height on mobile Safari. Alerts now keep their own
   content height and the list scrolls normally.
   ========================================================= */
.notifications-popover #notificationList{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  align-content:initial!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.notifications-popover .notification-item{
  flex:0 0 auto!important;
  height:auto!important;
  max-height:none!important;
  align-self:stretch!important;
  overflow:visible!important;
}
.notifications-popover .notification-item>div{
  min-width:0!important;
  height:auto!important;
  overflow:visible!important;
}
.notifications-popover .notification-item .notification-meta,
.notifications-popover .notification-item strong,
.notifications-popover .notification-item small,
.notifications-popover .notification-item em{
  position:static!important;
  float:none!important;
  transform:none!important;
}

@media(max-width:700px){
  .notifications-popover #notificationList{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:218px!important;
    gap:6px!important;
    padding:0 2px 1px 0!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }
  .notifications-popover .notification-item{
    min-height:62px!important;
    padding:8px 9px!important;
    grid-template-columns:31px minmax(0,1fr)!important;
    gap:8px!important;
  }
  .notifications-popover .notification-item small{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
}

@media(max-width:360px){
  .notifications-popover .notification-item{
    min-height:60px!important;
  }
}

/* =========================================================
   V145 — Desktop sidebar viewport + independent navigation scroll
   Keeps the PC sidebar full-height while the main dashboard scrolls.
   The logo and storage footer stay anchored; only menu groups scroll.
   ========================================================= */
@media (min-width:941px){
  .dashboard-sidebar{
    align-self:start;
    height:100vh;
    height:100dvh;
    max-height:100vh;
    max-height:100dvh;
    position:sticky;
    top:0;
    overflow:hidden!important;
    display:flex;
    flex-direction:column;
    background:#fff;
  }
  .sidebar-head{
    flex:0 0 auto;
  }
  .sidebar-scroll-area{
    display:block!important;
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:#cbd7e7 transparent;
    padding-right:4px;
    margin-right:-4px;
  }
  .sidebar-scroll-area::-webkit-scrollbar{width:5px}
  .sidebar-scroll-area::-webkit-scrollbar-track{background:transparent}
  .sidebar-scroll-area::-webkit-scrollbar-thumb{background:#cbd7e7;border-radius:999px}
  .sidebar-storage{
    flex:0 0 auto;
    margin-top:12px;
    background:#fff;
  }
}

/* =========================================================
   V146 — PC sidebar permanently anchored to the viewport
   Fixes the desktop left rail becoming visually empty while
   the main dashboard is scrolled. The main page now scrolls
   independently; the sidebar itself never moves with it.
   ========================================================= */
@media (min-width:941px){
  .dash-shell{
    --desktop-sidebar-width:292px;
    display:block!important;
    min-height:100vh;
    min-height:100dvh;
    padding-left:var(--desktop-sidebar-width)!important;
  }

  .dashboard-sidebar{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:var(--desktop-sidebar-width)!important;
    height:100vh!important;
    height:100dvh!important;
    max-height:none!important;
    align-self:auto!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    background:#fff!important;
    border-right:1px solid #e3ebf5;
    z-index:70;
    transform:none!important;
  }

  .dashboard-content{
    width:100%!important;
    min-width:0!important;
    min-height:100vh;
    min-height:100dvh;
  }

  .sidebar-head{
    flex:0 0 auto!important;
  }

  .sidebar-scroll-area{
    display:block!important;
    flex:1 1 0!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:#cbd7e7 transparent;
    padding-right:4px;
    margin-right:-4px;
  }

  .sidebar-storage{
    flex:0 0 auto!important;
    margin-top:0!important;
    background:#fff!important;
    border-top:1px solid #e5ebf4!important;
  }
}

@media (min-width:941px) and (max-width:1180px){
  .dash-shell{--desktop-sidebar-width:250px}
}

@media (min-width:1380px){
  .dash-shell{--desktop-sidebar-width:306px}
}

/* V149 — auth flow hardening */
.turnstile-slot{margin-top:10px;min-height:0;display:flex;justify-content:flex-start;overflow:hidden}
.turnstile-slot[hidden]{display:none!important}
.reset-password-guide .password-match-status{margin-top:2px}
@media(max-width:620px){.turnstile-slot{justify-content:center}.turnstile-slot>div{max-width:100%}}

/* =========================================================
   V151 — Desktop dashboard home layout / Recent Documents PC optimization
   Keeps the home workspace readable from compact laptops to wide desktops.
   ========================================================= */
@media (min-width:941px){
  /* Recent Documents: use real desktop proportions instead of stretching
     every metadata column across the full card width. */
  .recent-card .doc-table{min-width:0!important;width:100%}
  .recent-card .doc-table-header,
  .recent-card .doc-row{
    grid-template-columns:minmax(190px,1fr) 108px 94px 78px 38px!important;
    gap:10px!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .recent-card .doc-table-header{
    height:42px!important;
    font-size:11px!important;
    font-weight:700;
    color:#607089;
  }
  .recent-card .doc-row{
    min-height:62px!important;
    font-size:12px!important;
  }
  .recent-card .doc-name-cell{gap:12px}
  .recent-card .file-type-icon{width:29px;height:33px;border-radius:7px;font-size:8.5px}
  .recent-card .doc-name{font-size:12.5px;font-weight:650}
  .recent-card .doc-file-meta{font-size:9.4px;line-height:1.3}
  .recent-card .doc-location-link{font-size:9.2px;line-height:1.3}
  .recent-card .category-pill{height:24px;padding-inline:9px;font-size:9.8px}
  .recent-card .doc-menu-btn{width:36px;height:36px}

  /* Home-card typography and spacing were tuned too small for desktop. */
  .dashboard-grid-v125 .card-heading{min-height:64px;padding-left:20px;padding-right:20px}
  .dashboard-grid-v125 .card-heading h2{font-size:16px}
  .dashboard-grid-v125 .home-card-kicker{font-size:9.3px}
  .dashboard-grid-v125 .text-link{font-size:11.8px;min-height:36px;display:inline-flex;align-items:center}

  /* Let Security Health properly use the height of the matching Recent card
     instead of leaving a large dead area at the bottom on wide PCs. */
  .dashboard-grid-v125>.home-security-card{display:flex;flex-direction:column;min-height:0}
  .dashboard-grid-v125>.home-security-card .home-security-status{margin:6px 18px 12px;padding:14px}
  .dashboard-grid-v125>.home-security-card .home-security-checks{
    flex:1 1 auto;
    grid-template-rows:repeat(2,minmax(62px,1fr));
    padding:0 18px 18px;
    gap:9px;
  }
  .dashboard-grid-v125>.home-security-card .home-security-checks>button{padding:10px;min-height:62px}
  .dashboard-grid-v125>.home-security-card .home-security-checks>button>span{width:34px;height:34px}
  .dashboard-grid-v125>.home-security-card .home-security-checks small{font-size:8.8px}
  .dashboard-grid-v125>.home-security-card .home-security-checks strong{font-size:10.7px}

  /* Storage card: keep the information grouped instead of spreading values
     across a very wide left column. */
  .dashboard-grid-v125>.storage-card .storage-overview{
    grid-template-columns:150px minmax(0,1fr);
    gap:28px;
    min-height:220px;
    padding:18px 28px 28px;
  }
  .dashboard-grid-v125>.storage-card .storage-ring{width:136px;height:136px}
  .dashboard-grid-v125>.storage-card .storage-detail{width:min(100%,520px);max-width:520px}
  .dashboard-grid-v125>.storage-card .storage-detail h3{font-size:17px}
  .dashboard-grid-v125>.storage-card .storage-detail>p{font-size:11.5px}
  .dashboard-grid-v125>.storage-card .storage-detail li{font-size:11px;gap:9px}

  /* Activity rows get desktop-scale text without changing mobile density. */
  .dashboard-grid-v125>.activity-card .activity-list{padding-left:18px;padding-right:18px;padding-bottom:14px}
  .dashboard-grid-v125>.activity-card .activity-item{padding:9px 0;gap:11px}
  .dashboard-grid-v125>.activity-card .activity-item p{font-size:11px}
  .dashboard-grid-v125>.activity-card .activity-item small{font-size:9.7px}
}

/* Compact / normal laptops: the recent table needs the full content width.
   Use a two-column supporting row instead of forcing Recent into a narrow half. */
@media (min-width:941px) and (max-width:1379px){
  .dashboard-grid-v125{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:
      "recent recent"
      "security activity"
      "storage storage"
      "categories categories" !important;
    gap:16px!important;
    align-items:stretch;
  }
  .dashboard-grid-v125>.recent-card{grid-area:recent}
  .dashboard-grid-v125>.home-security-card{grid-area:security}
  .dashboard-grid-v125>.activity-card{grid-area:activity}
  .dashboard-grid-v125>.storage-card{grid-area:storage}
  .dashboard-grid-v125>.categories-card{grid-area:categories}
  .categories-card .category-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}
}

/* Wide desktop: balance Recent Documents with Security Health. The previous
   1.55/.85 split made the table over-wide and the security card cramped. */
@media (min-width:1380px){
  .dashboard-grid-v125{
    grid-template-columns:minmax(0,1.42fr) minmax(390px,1fr)!important;
    grid-template-areas:
      "recent security"
      "storage activity"
      "categories categories" !important;
    gap:20px!important;
  }
  .categories-card .category-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
}

/* Very wide screens can breathe a little more without letting metadata
   columns drift far apart. */
@media (min-width:1680px){
  .dashboard-grid-v125{grid-template-columns:minmax(0,1.48fr) minmax(420px,1fr)!important;gap:22px!important}
  .recent-card .doc-table-header,
  .recent-card .doc-row{grid-template-columns:minmax(250px,1fr) 116px 104px 84px 40px!important;padding-left:22px!important;padding-right:22px!important}
}


/* V152 — Seppuwa System Status integration */
.status-nav-item{text-decoration:none!important}.status-nav-external{min-width:22px!important;background:#edf6ff!important;color:#1768ef!important;font-weight:900!important}.status-nav-item:hover .status-nav-external{background:#dcecff!important}
.auth-service-links{width:min(520px,100%);margin:16px auto 0;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;color:#a0abba;font-size:9.5px;font-weight:750}.auth-service-links a{color:#65758b;text-decoration:none;transition:color .18s ease}.auth-service-links a:hover{color:#1768ef}.auth-service-links b{font-size:10px}
.service-status-banner{position:fixed;z-index:10050;top:14px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 28px));display:grid;grid-template-columns:34px minmax(0,1fr) auto 30px;align-items:center;gap:11px;padding:10px 11px 10px 12px;border:1px solid rgba(163,180,205,.7);border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 16px 44px rgba(14,39,76,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#243851;animation:statusBannerIn .22s ease-out}.service-status-banner__icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:16px;font-weight:950}.service-status-banner__content{min-width:0;display:grid;gap:2px}.service-status-banner__content strong{font-size:11px;line-height:1.25}.service-status-banner__content>span{font-size:9.5px;line-height:1.4;color:#64758b;white-space:normal}.service-status-banner__link{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border:1px solid currentColor;border-radius:9px;color:#1768ef;text-decoration:none;font-size:9px;font-weight:900;white-space:nowrap}.service-status-banner__close{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#75849a;font-size:20px;line-height:1;cursor:pointer}.service-status-banner__close:hover{background:#f1f4f8;color:#243851}.service-status-banner--maintenance .service-status-banner__icon{background:#fff4dc;color:#a96400}.service-status-banner--degraded .service-status-banner__icon{background:#fff2d9;color:#a96200}.service-status-banner--partial_outage .service-status-banner__icon{background:#ffebe8;color:#c33e2b}.service-status-banner--major_outage .service-status-banner__icon{background:#ffe7e9;color:#c92c3a}.service-status-banner--maintenance .service-status-banner__link,.service-status-banner--degraded .service-status-banner__link{color:#9a6208}.service-status-banner--partial_outage .service-status-banner__link,.service-status-banner--major_outage .service-status-banner__link{color:#b73435}@keyframes statusBannerIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:640px){.service-status-banner{top:8px;width:calc(100% - 16px);grid-template-columns:31px minmax(0,1fr) 28px;gap:8px;padding:9px;border-radius:12px}.service-status-banner__icon{width:31px;height:31px;border-radius:9px}.service-status-banner__content strong{font-size:10.5px}.service-status-banner__content>span{font-size:9px}.service-status-banner__link{grid-column:2/3;justify-self:start;min-height:29px;padding:0 9px;margin-top:2px}.service-status-banner__close{grid-column:3;grid-row:1;width:28px;height:28px}.auth-service-links{padding-inline:6px;margin-top:13px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.service-status-banner{animation:none}}
