:root{--navy:#061722;--navy-2:#0a2b38;--petrol:#08757d;--petrol-dark:#05565d;--gold:#d4a24b;--paper:#f2f5f4;--white:#fff;--ink:#16262e;--muted:#667780;--line:#dde5e4;--danger:#9d2f2f;--success:#236b4d;--shadow:0 24px 70px rgba(6,23,34,.16)}
*{box-sizing:border-box}html{font-family:Inter,"Segoe UI",Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}body{margin:0;min-height:100vh}a{color:inherit}
.auth-page{display:grid;place-items:center;padding:32px;background:radial-gradient(circle at 88% 8%,rgba(8,117,125,.3),transparent 35%),linear-gradient(145deg,var(--navy),#0a2634 60%,#0d3944)}
.auth-shell{display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(380px,.95fr);width:min(1080px,100%);min-height:650px;overflow:hidden;background:#fff;box-shadow:0 35px 100px rgba(0,0,0,.32);border-radius:4px}
.auth-visual{position:relative;isolation:isolate;display:flex;min-height:650px;background:url("madrid-cuatro-torres.jpg") center/cover no-repeat;color:#fff}.auth-visual-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(155deg,rgba(5,22,32,.9),rgba(5,42,49,.7) 55%,rgba(8,117,125,.58))}.auth-visual-content{display:flex;flex-direction:column;justify-content:space-between;width:100%;padding:48px}.auth-logo{width:min(310px,85%);filter:brightness(0) invert(1)}.visual-kicker{margin:0 0 14px;color:#f2c778;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.auth-visual h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4vw,56px);font-weight:500;line-height:1.06;letter-spacing:-.02em}.auth-visual p:not(.visual-kicker){max-width:480px;margin:22px 0 0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.7}.trust-list{display:flex;flex-wrap:wrap;gap:9px}.trust-list span{padding:8px 11px;border:1px solid rgba(255,255,255,.28);background:rgba(5,22,32,.3);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(5px)}
.auth-card{display:flex;flex-direction:column;justify-content:center;padding:54px 58px;background:rgba(255,255,255,.99)}.auth-card-logo{display:none;width:250px;max-width:85%;margin-bottom:34px}.install-card{width:min(760px,100%);padding:42px;background:#fff;border-top:4px solid var(--gold);box-shadow:var(--shadow)}
.brand-mark{font-size:15px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--petrol)}.kicker{margin:0 0 10px;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.auth-card h1,.welcome h1{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,5vw,56px);font-weight:500;line-height:1.05;letter-spacing:-.025em}.muted,.welcome p{color:var(--muted);line-height:1.65}.auth-card>.muted{margin:18px 0 0}
.login-form,.stack-form{display:grid;gap:18px;margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}.form-grid h2{grid-column:1/-1;margin:18px 0 0;font-size:17px}.full{grid-column:1/-1}label{display:grid;gap:8px;color:#35434b;font-size:12px;font-weight:800;letter-spacing:.02em}input,select{width:100%;min-height:48px;padding:12px 14px;border:1px solid #c7d2d2;border-radius:2px;background:#fbfcfc;color:var(--ink);font:inherit;transition:border-color .2s,box-shadow .2s,background .2s}input:focus,select:focus{outline:0;border-color:var(--petrol);background:#fff;box-shadow:0 0 0 4px rgba(8,117,125,.11)}
.button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:49px;padding:12px 18px;border:0;border-radius:2px;font:inherit;font-weight:800;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}.primary{background:var(--petrol);color:#fff;box-shadow:0 10px 24px rgba(8,117,125,.2)}.primary:hover{background:var(--petrol-dark);transform:translateY(-1px);box-shadow:0 14px 28px rgba(8,117,125,.28)}.security-note{margin:22px 0 0;color:#7b898f;font-size:11px;text-align:center}.security-note span{margin-right:6px;color:var(--gold);font-size:8px}.back-link{display:inline-block;margin-top:28px;color:var(--petrol);font-size:12px;font-weight:700;text-decoration:none}.back-link:hover{text-decoration:underline}.alert{margin:20px 0 0;padding:13px 15px;border-left:3px solid;font-size:13px}.alert.error{background:#fff0f0;border-color:var(--danger);color:#7d2222}.alert.success{background:#edf8f3;border-color:var(--success);color:#19563d}
.portal-header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:22px;min-height:82px;padding:12px max(24px,calc((100vw - 1180px)/2));background:rgba(6,23,34,.98);color:#fff;box-shadow:0 8px 30px rgba(6,23,34,.2);border-bottom:1px solid rgba(212,162,75,.28)}.portal-brand{display:flex;align-items:center;gap:16px;text-decoration:none}.portal-brand img{display:block;width:190px;max-height:50px;object-fit:contain;filter:brightness(0) invert(1)}.portal-brand span{padding-left:16px;border-left:1px solid rgba(255,255,255,.22);color:#c7d2d6;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.user-actions{display:flex;align-items:center;gap:18px;font-size:13px}.user-actions a,.user-actions button{padding:8px 2px;border:0;border-bottom:1px solid transparent;background:none;color:#fff;font:inherit;text-decoration:none;cursor:pointer}.user-actions a:hover,.user-actions button:hover{border-color:var(--gold);color:#f2c778}.user-actions form{margin:0}
.portal-main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:58px 0 76px}.welcome{position:relative;max-width:860px;margin-bottom:42px;padding-left:22px}.welcome:before{content:"";position:absolute;left:0;top:3px;width:3px;height:78px;background:linear-gradient(var(--gold),var(--petrol))}.welcome .kicker{margin-bottom:11px}.folder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.folder-card,.panel{background:#fff;border:1px solid var(--line);border-radius:3px;box-shadow:0 12px 40px rgba(6,23,34,.06)}.folder-card{position:relative;overflow:hidden;padding:27px;transition:transform .2s,box-shadow .2s}.folder-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--petrol),var(--gold))}.folder-card:hover{transform:translateY(-2px);box-shadow:0 18px 48px rgba(6,23,34,.1)}.folder-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:20px;border-bottom:1px solid var(--line)}.folder-heading h2,.panel h2{margin:5px 0 0;font-size:20px}.folder-type{color:var(--petrol);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.doc-count{display:grid;place-items:center;min-width:36px;height:36px;border-radius:50%;background:#edf5f4;color:var(--petrol);font-weight:900}
.document-list{display:grid}.document-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:14px;padding:17px 0;border-bottom:1px solid var(--line);text-decoration:none}.document-row:last-child{border-bottom:0}.document-row:hover strong{color:var(--petrol)}.document-row strong,.document-row small{display:block}.document-row small{margin-top:5px;color:var(--muted);font-size:11px}.file-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:2px;background:linear-gradient(145deg,var(--navy),var(--navy-2));color:#fff;font-size:9px;font-weight:900;letter-spacing:.08em;box-shadow:0 7px 16px rgba(6,23,34,.18)}.download-label{color:var(--petrol);font-size:12px;font-weight:800}.empty{color:var(--muted);font-size:13px}.portal-footer{padding:26px;text-align:center;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}
.admin-main{display:grid;gap:24px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{padding:27px}.table-panel{overflow:hidden}.table-wrap{overflow:auto;margin:18px -27px -27px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:14px 18px;border-top:1px solid var(--line);text-align:left;white-space:nowrap}th{background:#f6f8f7;color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.status-button{padding:7px 10px;border:1px solid #d9b1b1;background:#fff3f3;color:var(--danger);font:inherit;font-size:11px;cursor:pointer}.status-button.active{border-color:#abd1bf;background:#edf8f3;color:var(--success)}.status-button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:850px){.auth-page{padding:20px}.auth-shell{grid-template-columns:1fr;width:min(560px,100%);min-height:0}.auth-visual{display:none}.auth-card{padding:46px}.auth-card-logo{display:block}.form-grid,.folder-grid,.admin-grid{grid-template-columns:1fr}.form-grid h2,.full{grid-column:1}.portal-header{align-items:center;padding:14px 20px}.portal-brand img{width:155px}.portal-brand span{display:none}.user-actions>span{display:none}.portal-main{width:min(100% - 28px,1180px);padding-top:40px}.document-row{grid-template-columns:38px 1fr}.download-label{display:none}.folder-card,.panel{padding:21px}.table-wrap{margin:18px -21px -21px}}
@media(max-width:480px){.auth-page{padding:0;background:#fff}.auth-shell{min-height:100vh;border-radius:0}.auth-card{justify-content:flex-start;padding:38px 24px}.auth-card-logo{width:220px}.portal-header{min-height:70px}.user-actions{gap:12px;font-size:12px}.portal-brand img{width:135px}.welcome{padding-left:16px}.welcome h1{font-size:38px}}
.auth-visual{min-width:0;overflow:hidden}.auth-visual-content{min-width:0}.auth-logo{display:block;width:85%;max-width:310px;height:auto;max-height:92px;object-fit:contain;object-position:left center}.portal-brand img{height:auto;max-height:44px}
.auth-logo,.portal-brand img{filter:none}
@media(min-width:851px){.portal-brand img{width:310px;max-height:64px}.portal-brand span{font-size:13px;line-height:1.35;letter-spacing:.12em}.portal-header{min-height:92px}}
