:root{--navy:#071c42;--blue:#167ee6;--blue-pale:#e9f2ff;--yellow:#f8c646;--ink:#121b2e;--muted:#667085;--line:#e6ebf2;--surface:#f5f7fb;--white:#fff}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 0 0,#e8f1ff 0,transparent 30%),var(--surface);color:var(--ink);font-family:"DM Sans",sans-serif}a{text-decoration:none;color:inherit}button{font:inherit}.hidden{display:none!important}.legajo-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.legajo-header{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(10,34,73,.08);background:rgba(255,255,255,.92);backdrop-filter:blur(20px)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--yellow);color:var(--navy);font:800 13px "Libre Franklin",sans-serif}.brand>span:last-child{display:grid;line-height:1.1}.brand strong{font:800 13px "Libre Franklin",sans-serif;text-transform:uppercase}.brand small{margin-top:4px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.header-actions{display:flex;align-items:center;gap:9px}.admin-link,.logout-button{min-height:40px;padding:0 15px;border-radius:10px;font-size:11px;font-weight:800;cursor:pointer}.admin-link{display:inline-grid;place-items:center;color:#fff;background:var(--blue);box-shadow:0 8px 18px rgba(22,126,230,.2)}.logout-button{color:var(--navy);border:1px solid var(--line);background:#fff}.legajo-main{padding:42px 0 76px}.profile-hero{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;min-height:190px;padding:30px 34px;overflow:hidden;border:1px solid rgba(22,126,230,.12);border-radius:24px;background:linear-gradient(115deg,#fff 42%,#eef5ff);box-shadow:0 22px 50px rgba(10,37,78,.09)}.profile-hero:after{position:absolute;right:-80px;bottom:-150px;width:360px;height:360px;border:1px solid rgba(22,126,230,.15);border-radius:50%;content:""}.profile-avatar{position:relative;z-index:1;width:88px;height:88px;display:grid;place-items:center;border:7px solid #fff;border-radius:24px;background:linear-gradient(145deg,var(--blue),#5ea9ff);box-shadow:0 12px 28px rgba(22,126,230,.24);color:#fff;font:800 25px "Libre Franklin",sans-serif}.profile-title,.hero-badge{position:relative;z-index:1}.eyebrow{margin:0 0 9px;color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.profile-title h1{max-width:690px;margin:0;font:800 clamp(28px,4vw,46px)/1.04 "Libre Franklin",sans-serif;letter-spacing:-.045em}.profile-meta{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--muted);font-size:13px}.verified-dot{width:8px;height:8px;border-radius:50%;background:#1fa971;box-shadow:0 0 0 4px rgba(31,169,113,.13)}.hero-badge{min-width:104px;padding:13px 15px;border:1px solid rgba(22,126,230,.15);border-radius:14px;background:rgba(255,255,255,.72)}.hero-badge span{display:block;color:var(--muted);font-size:10px;font-weight:700}.hero-badge strong{display:block;margin-top:5px;color:#168858;font-size:14px}.legajo-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:22px;margin-top:22px}.info-column{display:grid;gap:22px}.information-card,.documents-card{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 14px 35px rgba(10,37,78,.055)}.information-card{padding:28px}.card-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;padding-bottom:21px;border-bottom:1px solid var(--line)}.card-heading h2,.documents-card h2{margin:0;color:var(--navy);font:800 23px/1.1 "Libre Franklin",sans-serif;letter-spacing:-.035em}.card-number{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--blue-pale);color:var(--blue);font-size:11px;font-weight:800}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;transition:opacity .35s ease,transform .35s ease}.details-grid.is-loading,.documents-card.is-loading{opacity:.35;transform:translateY(5px)}.detail-item{display:flex;align-items:flex-start;gap:11px;min-height:84px;padding:15px;border:1px solid #edf0f5;border-radius:14px;background:#fbfcfe}.detail-wide{grid-column:span 2}.detail-icon{display:grid;place-items:center;flex:0 0 31px;width:31px;height:31px;border-radius:9px;background:var(--blue-pale);color:var(--blue);font-size:9px;font-weight:800}.detail-item small{display:block;color:var(--muted);font-size:11px}.detail-item strong{display:block;margin-top:6px;color:var(--navy);font-size:15px;line-height:1.35;overflow-wrap:anywhere}.employment-card{background:linear-gradient(145deg,#fff,#f7faff)}.documents-card{position:sticky;top:98px;align-self:start;min-height:340px;padding:30px;overflow:hidden;background:linear-gradient(155deg,var(--navy),#123d7c);color:#fff}.documents-card:after{position:absolute;right:-100px;bottom:-100px;width:270px;height:270px;border:1px solid rgba(255,255,255,.12);border-radius:50%;content:""}.documents-card>*{position:relative;z-index:1}.documents-card .eyebrow{color:#95c7ff}.documents-card h2{color:#fff;font-size:27px}.documents-copy{margin:17px 0 25px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.55}.documents-orb{position:absolute;right:23px;top:24px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--yellow);color:var(--navy);font-size:20px;font-weight:800}.documents-action{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:0 16px;border-radius:12px;background:#fff;color:var(--navy);font-size:12px;font-weight:800}.documents-action span{color:var(--blue);font-size:18px}.drive-link{display:block;margin-top:18px;color:rgba(255,255,255,.75);font-size:11px;font-weight:700}.drive-link:hover{text-decoration:underline}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px;background:rgba(4,15,35,.7);backdrop-filter:blur(8px);opacity:1;transition:opacity .25s}.modal.is-hidden{visibility:hidden;opacity:0;pointer-events:none}.modal-content{width:min(390px,100%);padding:32px;border-radius:21px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.25);text-align:center;transform:scale(1);transition:transform .25s}.modal.is-hidden .modal-content{transform:scale(.95)}.modal-icon{display:grid;place-items:center;width:50px;height:50px;margin:0 auto 17px;border-radius:50%;background:#e8f8ef;color:#148354;font-size:22px;font-weight:800}.modal-content h2{margin:4px 0 10px;color:var(--navy);font:800 28px/1.1 "Libre Franklin",sans-serif}.modal-content>p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px}.modal-primary,.modal-secondary,.modal-danger{min-height:45px;border:0;border-radius:10px;font-size:12px;font-weight:800;cursor:pointer}.modal-primary{width:100%;margin-top:25px;background:var(--blue);color:#fff}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:25px}.modal-secondary{color:var(--navy);background:#edf1f6}.modal-danger{color:#fff;background:#d82f3c}@media(max-width:760px){.legajo-shell{width:calc(100% - 26px)}.header-inner{min-height:68px}.brand small{display:none}.admin-link,.logout-button{min-height:36px;padding:0 10px;font-size:10px}.legajo-main{padding-top:22px}.profile-hero{grid-template-columns:auto 1fr;gap:14px;min-height:0;padding:22px 20px;border-radius:19px}.profile-avatar{width:58px;height:58px;border-width:4px;border-radius:18px;font-size:17px}.profile-title h1{font-size:26px}.profile-meta{font-size:11px}.hero-badge{grid-column:1/-1;width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 13px}.hero-badge strong{margin:0}.legajo-layout{grid-template-columns:1fr;gap:14px;margin-top:14px}.information-card,.documents-card{border-radius:17px}.information-card{padding:20px}.card-heading h2{font-size:20px}.details-grid{grid-template-columns:1fr;gap:10px;margin-top:16px}.detail-wide{grid-column:auto}.detail-item{min-height:70px;padding:12px}.detail-item strong{font-size:14px}.documents-card{position:relative;top:auto;min-height:0;padding:25px}.documents-card h2{font-size:25px}.modal-content{padding:26px 20px}}@media(max-width:430px){.brand strong{font-size:11px}.header-actions{gap:5px}.admin-link{display:none}.profile-title h1{font-size:23px}.profile-meta{align-items:flex-start}.logout-button{padding:0 9px}.modal-actions{grid-template-columns:1fr}}
