@import url('/fonts.css');
:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#e9f2f4;background:#071421;font-synthesis:none;--muted:#9bb1bf;--green:#40d7a0;--line:#27404d;--panel:rgba(17,36,49,.89);--red:#ff9aa4;--yellow:#f7d974;--blue:#84c5ff}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 88% 5%,#10423970,transparent 40%),#071421;min-height:100vh}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;border:1px solid transparent;background:var(--green);color:#06241e;border-radius:9px;padding:11px 17px;font-size:.86rem;font-weight:700;text-decoration:none;min-height:42px}button:hover,.button:hover{filter:brightness(1.1);text-decoration:none}button:disabled{opacity:.5;cursor:wait}button.secondary,.button.secondary{background:#172e3a;border-color:#355463;color:#e6f0f2}button.danger{background:#502633;color:#ffdce0;border-color:#77404d}.small{font-size:.77rem;padding:7px 11px;min-height:32px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.045em;line-height:1.13;margin-bottom:10px}h2{font-size:1.15rem;letter-spacing:-.025em}h3{font-size:.97rem}p{line-height:1.6;color:var(--muted)}.muted{color:var(--muted)}.eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:14px}.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:28px 18px 20px;background:#091721ee;border-right:1px solid var(--line);overflow:auto}.brand{display:flex;gap:11px;align-items:center;color:#f1f7f8;font-weight:800;letter-spacing:.02em;font-size:1rem}.brand img{width:37px;height:45px}.brand small{font-size:.65rem;display:block;font-weight:400;color:var(--muted);margin-top:4px;letter-spacing:.04em}.nav-label{font-size:.62rem;letter-spacing:.18em;color:#708c9b;font-weight:700;margin:30px 14px 12px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{color:#a9becb;display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:8px;font-size:.84rem}.nav-item svg{width:18px;height:18px;flex-shrink:0}.nav-item:hover{background:#18333c;text-decoration:none}.nav-item.active{color:#b1ffe0;background:linear-gradient(90deg,#164b3a,#12372e);box-shadow:inset 3px 0 var(--green)}.sidebar-foot{margin-top:auto;padding:30px 12px 0;font-size:.66rem;color:#7f9caa;line-height:1.6}.tricolor{height:3px;display:grid;grid-template-columns:2fr 1fr 1fr;width:48px;margin:0 0 12px}.tricolor i:nth-child(1){background:#fcd116}.tricolor i:nth-child(2){background:#2f7cda}.tricolor i:nth-child(3){background:#d34b5d}.workspace{min-width:0}.topbar{height:78px;border-bottom:1px solid var(--line);padding:0 35px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0a1a25a6}.crumb{font-size:.75rem;color:#8fa8b6}.top-actions{display:flex;align-items:center;gap:16px}.avatar{width:36px;height:36px;border:1px solid #427462;border-radius:50%;background:#193b37;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#a3f2d2;object-fit:cover}.user-name{font-size:.8rem}.user-name small{display:block;font-size:.63rem;color:var(--muted);margin-top:3px}.page{padding:32px 35px 50px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px}.page-heading p{font-size:.85rem;margin-bottom:0}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid #34525c;border-radius:6px;font-size:.68rem;font-weight:700;color:#bdd0d8;white-space:nowrap}.pill.green{color:#86edb8;background:#1552355c;border-color:#2a6b4e}.pill.yellow{color:var(--yellow);background:#51451a55;border-color:#78642e}.pill.red{color:#ffabb2;background:#54273366;border-color:#723441}.pill.blue{color:#a2d6ff;background:#183e5966;border-color:#355f7e}.dot{width:6px;height:6px;border-radius:50%;background:currentColor}.identity-banner{display:flex;align-items:center;gap:18px;padding:20px 24px;margin-bottom:23px;border:1px solid #31514f;background:linear-gradient(110deg,#15313a,#11362b);border-radius:12px}.identity-banner .avatar{width:52px;height:52px}.identity-banner strong{font-size:1.05rem}.identity-banner small{display:block;color:var(--muted);margin-top:5px;font-size:.75rem}.identity-meta{margin-left:auto;display:flex;gap:35px}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:23px;box-shadow:0 6px 24px #0000000c;min-width:0}.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}.span-3{grid-column:span 3}.panel-head{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-head h2{margin:0}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric{padding:20px;border:1px solid var(--line);border-radius:11px;background:linear-gradient(125deg,#142a37,#10252c)}.metric strong{display:block;font-size:1.7rem;letter-spacing:-.04em;margin:9px 0;color:#e5f7ef}.metric small{font-size:.72rem;color:var(--muted)}.metric .label{font-size:.75rem;color:#b2c9d4}.document-card{border-radius:12px;padding:25px;color:#163442;background:repeating-linear-gradient(35deg,transparent,transparent 8px,#4e917407 9px,#4e917407 10px),linear-gradient(125deg,#e6eee4,#f2f1df 65%,#d1e4d9);position:relative;overflow:hidden}.document-card:after{content:'';position:absolute;height:5px;width:100%;left:0;bottom:0;background:linear-gradient(90deg,#e3be29 50%,#1b65a5 50%,#1b65a5 75%,#c85254 75%)}.document-card .eyebrow{color:#396757;font-size:.6rem}.document-card .doc-title{font-size:.78rem;font-weight:800;letter-spacing:.06em;margin-bottom:20px}.doc-body{display:flex;gap:20px;align-items:center}.doc-body .avatar{width:85px;height:100px;border-radius:8px;font-size:2rem;background:#c7d9d0;color:#2e5c49}.doc-body h3{font-size:1.25rem;margin:4px 0 9px}.doc-body small,.doc-bottom small{color:#426054;font-size:.67rem}.doc-bottom{margin-top:23px;display:flex;justify-content:space-between;gap:10px;font-size:.77rem}.doc-disclaimer{font-size:.58rem;font-weight:700;letter-spacing:.03em;margin-top:20px;color:#476252}.empty{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:160px;color:var(--muted);padding:16px 0}.empty svg{width:28px;height:28px;color:#537a84;margin-bottom:14px}.empty h3{color:#d6e5eb;margin-bottom:8px}.empty p{font-size:.8rem;max-width:480px;margin-bottom:16px}.notice{padding:14px 17px;border:1px solid #35596d;border-radius:8px;background:#163144;color:#b4d5e9;font-size:.79rem;line-height:1.6;margin:16px 0}.notice.warn{background:#40391c66;border-color:#695b32;color:#e1cf94}.notice.error{background:#452532;border-color:#76404d;color:#ffb7bd}.list-item{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.list-item:last-child{border:0}.list-item h3{margin:0 0 6px;font-size:.86rem}.list-item p{font-size:.76rem;margin:0}.list-item time{font-size:.67rem;color:#90a9b6;white-space:nowrap}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px;font-size:.78rem;color:#b8ced9}.field.full{grid-column:1/-1}.field input,.field select,.field textarea,.filter-input{width:100%;padding:11px 12px;border-radius:7px;border:1px solid #35515e;background:#0b1e2b;color:#eef6f8;min-height:43px}.field textarea{min-height:100px;resize:vertical}.field small{font-size:.67rem;color:#93aebb}.checkbox{flex-direction:row;align-items:center;line-height:1.5}.checkbox input{width:18px;min-height:18px;flex-shrink:0;accent-color:var(--green)}.field .checkbox{font-size:.8rem}form .form-error{color:var(--red);font-size:.8rem;white-space:pre-wrap;margin:12px 0 0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.78rem;text-align:left}th{font-size:.65rem;letter-spacing:.07em;text-transform:uppercase;color:#8fa8b6;padding:12px 10px;border-bottom:1px solid #35505d;white-space:nowrap}td{padding:15px 10px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.5;max-width:360px;overflow-wrap:anywhere}td:first-child,th:first-child{padding-left:0}td small{color:var(--muted);display:block;margin-top:4px}td .pill{font-size:.63rem}.pagination{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.tabbar{display:flex;gap:8px;overflow:auto;margin-bottom:22px}.tabbar a{white-space:nowrap;padding:10px 14px;font-size:.8rem;border:1px solid var(--line);border-radius:7px;color:#afc6d2}.tabbar a.active{background:#174838;color:#b4f5d4;border-color:#397458}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.toolbar form{display:flex;gap:8px}.toolbar input{max-width:300px}.loading{display:flex;min-height:70vh;flex-direction:column;align-items:center;justify-content:center}.brand-mark{width:65px;height:74px;display:grid;place-items:center;border:2px solid var(--green);border-radius:12px 12px 30px 30px;color:var(--green);font-size:2.2rem;font-weight:900;margin-bottom:20px}.public-wrap{max-width:1280px;margin:auto;padding:30px 50px}.public-nav{display:flex;align-items:center;justify-content:space-between}.public-links{display:flex;gap:25px;font-size:.8rem;align-items:center}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center;padding:100px 0 75px}.hero h1{font-size:clamp(2.7rem,5.5vw,4.9rem);line-height:1.03;letter-spacing:-.055em;margin-bottom:25px}.hero h1 em{font-style:normal;color:var(--green)}.hero p{font-size:.95rem;max-width:500px}.hero-card{position:relative;background:linear-gradient(140deg,#1a3d42,#10241f);border:1px solid #3b665a;border-radius:18px;padding:35px;box-shadow:0 30px 100px #08161188}.hero-card .brand-mark{margin:0 auto 20px}.hero-card h2{text-align:center;font-size:1.3rem;margin-bottom:12px}.hero-card p{text-align:center;font-size:.8rem}.hero-card .button{display:flex;width:100%;margin-top:22px}.secure-note{text-align:center;font-size:.68rem;color:#92b4a9;margin-top:14px}.public-services{padding-top:25px;border-top:1px solid var(--line)}.public-services .panel{padding:25px}.public-services .panel p{font-size:.8rem}.service-number{font-size:.68rem;color:var(--green);margin-bottom:28px;letter-spacing:.1em}.public-footer{margin-top:45px;padding:25px 0;border-top:1px solid var(--line);font-size:.7rem;color:#8aa2ae;display:flex;justify-content:space-between;gap:20px;line-height:1.6}.status-strip{display:flex;align-items:center;justify-content:space-between;margin:25px 0 10px;padding:17px 20px;background:#102731;border:1px solid var(--line);border-radius:9px;font-size:.8rem}.test-banner{background:#665021;color:#fff0b7;padding:10px 20px;font-size:.78rem;text-align:center}.test-banner select{background:#382c13;color:white;border:1px solid #a58648;border-radius:5px;padding:5px;margin-left:8px}.menu-toggle{display:none}.qr{background:white;padding:8px;border-radius:6px;display:inline-block;max-width:200px}.qr img{display:block;width:160px;height:160px}.map{position:relative;min-height:400px;overflow:hidden;background:#0b1d26;border:1px solid #2b4b58;border-radius:10px}.map img.map-base{width:100%;display:block}.map canvas{width:100%;display:block}.map-legend{display:flex;gap:15px;font-size:.7rem;color:var(--muted);margin-top:13px}.code{font-family:Consolas,monospace;font-size:.74rem;white-space:pre-wrap;overflow-wrap:anywhere;color:#a4c5d2;background:#0b1c28;padding:15px;border-radius:8px;max-height:350px;overflow:auto}.timeline{border-left:2px solid #355a61;padding-left:20px}.timeline .list-item{position:relative}.timeline .list-item:before{content:'';width:8px;height:8px;border-radius:50%;background:var(--green);position:absolute;left:-25px;top:20px}dialog{background:#102634;border:1px solid #456574;border-radius:14px;color:#ebf5f8;padding:28px;max-width:720px;width:calc(100% - 30px);max-height:90vh;overflow:auto;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#010a13cc;backdrop-filter:blur(5px)}dialog h2{font-size:1.35rem}dialog .close-dialog{margin-top:20px}#toast{position:fixed;bottom:24px;right:24px;max-width:calc(100vw - 48px);border:1px solid #39775a;background:#163e2f;color:#c6ffdc;border-radius:10px;padding:0;z-index:50;font-size:.85rem;box-shadow:0 8px 35px #0004}#toast:not(:empty){padding:16px 22px}.skip{position:absolute;top:-100px;left:15px;background:#40d7a0;color:#071421;padding:12px;z-index:100}.skip:focus{top:15px}:focus-visible{outline:3px solid #f0d764;outline-offset:3px}.mobile-only{display:none}.nowrap{white-space:nowrap}.text-green{color:var(--green)}.text-red{color:var(--red)}.mb{margin-bottom:20px}.subtle{font-size:.72rem;color:var(--muted)}[hidden]{display:none!important}
@media(max-width:1100px){.app-shell{grid-template-columns:210px 1fr}.sidebar{padding:24px 12px}.page{padding:25px 22px}.topbar{padding:0 22px}.metrics{gap:10px}.metric{padding:15px}.metric strong{font-size:1.45rem}.span-7,.span-5{grid-column:span 6}.identity-meta{gap:20px}.hero{gap:35px;padding:75px 0}.public-wrap{padding:25px 35px}.hero h1{font-size:3.5rem}}
@media(max-width:820px){.app-shell{display:block}.sidebar{position:fixed;z-index:20;width:250px;left:-270px;transition:left .2s;box-shadow:15px 0 60px #0008}.sidebar.open{left:0}.menu-toggle{display:inline-flex;padding:8px 10px;min-height:36px}.topbar{height:68px;padding:0 18px}.page{padding:25px 18px}.crumb{display:none}.span-3,.span-4,.span-5,.span-6,.span-7,.span-8{grid-column:span 12}.metrics .metric{padding:15px 12px}.metric .label{font-size:.68rem}.metric strong{font-size:1.25rem}.identity-meta{display:none}.hero{grid-template-columns:1fr;padding:60px 0 45px;gap:35px}.hero h1{font-size:3.5rem;max-width:600px}.hero-card{max-width:550px}.public-wrap{padding:25px}.public-links a:not(.button){display:none}.public-services .span-4{grid-column:span 4}.public-services .panel{padding:18px}.public-footer{display:block}.top-actions{gap:10px}.page-heading{flex-wrap:wrap}.public-nav .brand{font-size:.9rem}}
@media(max-width:520px){.public-services .span-4{grid-column:span 12}.public-wrap{padding:20px}.public-nav .button{padding:8px;font-size:.7rem}.public-nav .brand img{width:28px}.hero h1{font-size:2.8rem}.hero{padding:50px 0 35px}.hero-card{padding:25px}.metrics{grid-template-columns:1fr}.metric{display:grid;grid-template-columns:1fr auto;gap:5px}.metric strong{grid-column:2;grid-row:1/3;margin:0;align-self:center}.metric small{grid-column:1}.form-grid{grid-template-columns:1fr}.panel{padding:18px}.doc-body{gap:12px}.doc-body .avatar{width:65px;height:85px}.doc-body h3{font-size:1.1rem}.document-card{padding:18px}.user-name{max-width:110px;overflow:hidden}.top-actions .secondary{font-size:.72rem;padding:8px}.identity-banner{padding:16px}.status-strip{gap:12px;align-items:flex-start;flex-direction:column}.public-footer a{display:inline-block;margin-top:10px}.page-heading h1{font-size:1.9rem}.table-wrap{margin:0 -5px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media print{body{background:white;color:black}.sidebar,.topbar,.page-heading,.actions,.test-banner,button,.skip,#toast{display:none!important}.app-shell{display:block}.panel{border:0;background:white}.document-card{print-color-adjust:exact}.page{padding:0}.span-6{grid-column:span 12}}
/* Columbia RP visual language: layered civic skyline, restrained glass, and subtle national color. */
:root{--night:#07111f;--night-2:#0b1728;--emerald:#22c55e;--electric:#38bdf8;--glass:rgba(13,31,47,.72);--glass-edge:rgba(164,210,217,.19);--shadow-deep:0 20px 60px rgba(0,6,15,.28)}
body{background:radial-gradient(circle at 85% 5%,rgba(17,137,104,.14),transparent 32%),radial-gradient(circle at 12% 43%,rgba(37,99,235,.08),transparent 37%),var(--night)}
.public-wrap:before{content:'';position:absolute;z-index:-1;top:0;left:0;right:0;height:min(860px,91vh);background:linear-gradient(90deg,rgba(4,15,28,.94) 1%,rgba(4,15,28,.7) 39%,rgba(4,15,28,.33) 100%),linear-gradient(0deg,#07111f 0%,transparent 36%,rgba(4,16,28,.12)),url('/assets/ciudad-columbia.png') center 38%/cover no-repeat;pointer-events:none}
.public-wrap{isolation:isolate;position:relative;max-width:none;padding-left:max(50px,calc((100vw - 1280px)/2));padding-right:max(50px,calc((100vw - 1280px)/2))}
.public-wrap>*{max-width:1280px;margin-left:auto;margin-right:auto}
.hero{min-height:610px;gap:clamp(40px,7vw,105px)}.hero h1{text-shadow:0 12px 45px #03101b80}.hero p{color:#c6d7dc}
.hero-card,.panel,.metric,.identity-banner,.status-strip,dialog{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-color:var(--glass-edge);box-shadow:var(--shadow-deep)}
.hero-card{background:linear-gradient(135deg,rgba(18,54,57,.88),rgba(8,26,40,.78));box-shadow:0 35px 120px #0008,inset 0 1px #d1fff333}
.panel{background:linear-gradient(142deg,rgba(19,42,55,.84),rgba(10,29,43,.72));transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.panel:hover{transform:translateY(-3px);border-color:rgba(96,193,178,.34);box-shadow:0 22px 65px #0003,inset 0 1px #f1ffff12}
.metric{background:linear-gradient(130deg,rgba(21,59,58,.8),rgba(13,36,52,.72));transition:transform .25s ease}.metric:hover{transform:translateY(-2px)}
.topbar{backdrop-filter:blur(20px);background:rgba(9,25,39,.74)}.sidebar{background:linear-gradient(180deg,rgba(7,21,34,.96),rgba(10,29,43,.95));box-shadow:inset -1px 0 rgba(165,230,218,.09)}
.page{animation:page-enter .4s ease both}.page .panel{animation:rise .45s ease both}.page .panel:nth-of-type(2){animation-delay:.06s}.page .panel:nth-of-type(3){animation-delay:.12s}.page .panel:nth-of-type(4){animation-delay:.18s}
@keyframes page-enter{from{opacity:.6}to{opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
button,.button{transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}button:hover,.button:hover{transform:translateY(-1px);box-shadow:0 8px 27px rgba(27,177,120,.2)}button:active,.button:active{transform:translateY(1px)}
dialog[open]{animation:modal-in .22s ease both}@keyframes modal-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}dialog::backdrop{animation:fade-in .22s ease both}@keyframes fade-in{from{opacity:0}to{opacity:1}}
#toast:not(:empty){animation:toast-in .22s ease both}@keyframes toast-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.loading:before{content:'';width:180px;height:11px;border-radius:20px;margin-bottom:20px;background:linear-gradient(100deg,#214151 15%,#4abf9a 45%,#214151 75%);background-size:200% 100%;animation:shimmer 1.1s linear infinite}@keyframes shimmer{to{background-position-x:-200%}}
.pill.green .dot{box-shadow:0 0 0 4px #38b98122;animation:pulse 2.5s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 7px #38b98110}}
.document-card{box-shadow:0 15px 35px #0003,inset 0 1px #fff9}.document-card:before{content:'✦';position:absolute;font-size:10rem;color:#2b705a0b;right:12%;top:2%;line-height:1}
.nav-item{transition:background .2s ease,color .2s ease,transform .2s ease}.nav-item:hover{transform:translateX(3px)}td{transition:background .2s ease}tbody tr:hover td{background:#ffffff08}
@media(max-width:820px){.public-wrap{padding-left:25px;padding-right:25px}.hero{min-height:unset}.public-wrap:before{height:950px;background:linear-gradient(90deg,rgba(4,15,28,.88),rgba(4,15,28,.45)),linear-gradient(0deg,#07111f 0%,transparent 45%),url('/assets/ciudad-columbia.png') 58% top/cover no-repeat}}
@media(max-width:520px){.public-wrap{padding-left:20px;padding-right:20px}.hero{gap:28px}.hero-card{backdrop-filter:blur(12px)}}
@media(prefers-reduced-motion:reduce){.page,.page .panel,dialog[open],dialog::backdrop,#toast:not(:empty),.loading:before,.pill.green .dot{animation:none!important}.panel:hover,.metric:hover,button:hover,.button:hover,.nav-item:hover{transform:none!important}}

/* Identidad colombiana: color nacional en detalles, superficies ligeras y movimiento sereno. */
:root{--colombia-yellow:#fcd116;--colombia-blue:#3675c5;--colombia-red:#d95461}
.brand{gap:10px}.brand .flag-mini{width:30px;height:20px;flex:none;object-fit:cover;border-radius:3px;box-shadow:0 2px 8px #0005;transform-origin:left center;animation:flag-in .65s ease-out both}.brand:hover .flag-mini{transform:rotate(-4deg) translateY(-1px)}
.sidebar .brand .flag-mini{width:26px;height:18px;margin-left:auto}.public-nav{position:relative;padding-bottom:22px}.public-nav:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,var(--colombia-yellow) 0 50%,var(--colombia-blue) 50% 75%,var(--colombia-red) 75% 100%);opacity:.78}
.colombia-note{display:flex;align-items:center;gap:11px;width:max-content;max-width:100%;margin:-3px 0 22px;padding:7px 12px 7px 8px;border:1px solid #ffffff2b;border-radius:100px;background:#0718277a;backdrop-filter:blur(10px);color:#f4ead0;font-size:.72rem;font-weight:600;letter-spacing:.02em;animation:note-in .6s .12s ease both}.colombia-note-bar{display:block;width:27px;height:13px;border-radius:2px;background:linear-gradient(to bottom,var(--colombia-yellow) 0 50%,#003893 50% 75%,#ce1126 75% 100%);box-shadow:0 0 0 1px #fff4}
.hero h1 em{color:#ffdc5e}.hero .eyebrow{color:#f5d568}.hero-card{overflow:hidden;background:linear-gradient(145deg,rgba(15,43,56,.75),rgba(7,23,40,.68));border-color:#ffffff3d;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.hero-card:before{content:'';position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--colombia-yellow) 0 50%,#003893 50% 75%,#ce1126 75%);opacity:.94}.hero-card .brand-mark{border-color:#ffd94f;color:#ffd94f}
.panel{background:linear-gradient(145deg,rgba(20,42,59,.74),rgba(9,27,43,.67));border-color:#bad3e22a}.metric{background:linear-gradient(135deg,rgba(21,48,64,.75),rgba(11,32,50,.68))}.status-strip,.identity-banner{background:rgba(12,35,52,.72);backdrop-filter:blur(18px)}.topbar{background:rgba(9,27,46,.68)}.sidebar{background:linear-gradient(180deg,rgba(7,24,42,.93),rgba(8,28,47,.91))}
button:not(.secondary):not(.danger),.button:not(.secondary):not(.danger){background:#f4d13f;color:#152638;border-color:#ffe77c}button:not(.secondary):not(.danger):hover,.button:not(.secondary):not(.danger):hover{box-shadow:0 8px 25px #fcd11638}.button.secondary,button.secondary{background:rgba(16,45,70,.68);border-color:#79a7d45c}.public-links a:not(.button):hover{color:#91c0fa}.nav-item.active{box-shadow:inset 3px 0 var(--colombia-yellow)}.tricolor{width:68px;height:4px}.tricolor i:nth-child(2){background:#003893}.tricolor i:nth-child(3){background:#ce1126}
.public-services .panel{position:relative;overflow:hidden}.public-services .panel:before{content:'';position:absolute;top:0;left:0;width:56px;height:2px;background:var(--colombia-yellow)}.public-services .panel:nth-child(3n+2):before{background:var(--colombia-blue)}.public-services .panel:nth-child(3n+3):before{background:var(--colombia-red)}
@keyframes flag-in{from{opacity:0;transform:translateX(-6px) rotate(-8deg)}to{opacity:1;transform:translateX(0) rotate(0)}}@keyframes note-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:820px){.public-nav{gap:18px}.public-nav .brand .flag-mini{width:26px;height:17px}.colombia-note{font-size:.68rem}}
@media(max-width:520px){.public-nav .brand{gap:7px}.public-nav .brand .flag-mini{width:22px;height:15px}.public-nav .brand small{font-size:.5rem}.public-nav{padding-bottom:16px}.colombia-note{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.brand .flag-mini,.colombia-note{animation:none!important}.brand:hover .flag-mini{transform:none}}

.hero-card .text-green{color:#9fc5f4}.public-links a:not(.button){color:#d4e4f1}.public-links a:not(.button):hover{color:#ffe184}

/* Escudo propio del servidor y nombre con el tricolor en tonos suaves. */
.brand .server-logo{width:55px;height:55px;flex:none;object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 2px 8px #0005)}
.brand-copy{display:block;min-width:0;line-height:1.08}.brand-name{display:block;width:max-content;max-width:100%;white-space:nowrap;background:linear-gradient(105deg,#f0dc9b 0%,#ecd18d 38%,#b9cfeb 53%,#a9c4e5 71%,#e3afb5 89%,#dc9ea6 100%);background-clip:text;-webkit-background-clip:text;color:#e7d5b1;-webkit-text-fill-color:transparent}
.sidebar .brand{gap:7px}.sidebar .brand .server-logo{width:44px;height:44px}.sidebar .brand-name{font-size:.88rem;letter-spacing:-.015em}.sidebar .brand small{font-size:.58rem}.sidebar .brand .flag-mini{width:23px;height:16px}
@media(max-width:520px){.public-nav .brand .server-logo{width:42px;height:42px}.public-nav .brand-name{font-size:.86rem}.public-nav .brand small{font-size:.48rem;letter-spacing:0}.public-nav .brand .flag-mini{width:20px;height:14px}}

/* El paisaje sigue visible a través de la bienvenida; el tricolor cambia con suavidad. */
.hero-card{background-color:rgba(6,21,37,.34);background-image:linear-gradient(115deg,rgba(244,206,63,.09),rgba(30,92,164,.12) 48%,rgba(177,49,65,.09));background-size:220% 220%;border:1px solid rgba(230,241,252,.4);backdrop-filter:blur(2px) saturate(118%);-webkit-backdrop-filter:blur(2px) saturate(118%);box-shadow:0 28px 85px #0006,inset 0 1px #fff3;animation:welcome-colors 16s ease-in-out infinite}
.hero-card .list-item{margin:0 -12px;padding:14px 12px;border-bottom:1px solid #ffffff26;border-left:2px solid transparent;border-radius:5px;transition:background-color .28s ease,transform .28s ease}
.hero-card .list-item:hover{background:rgba(255,255,255,.07);transform:translateX(3px)}
.hero-card .list-item:nth-of-type(2){border-left-color:#f5d46e}.hero-card .list-item:nth-of-type(3){border-left-color:#7eafe9}.hero-card .list-item:nth-of-type(4){border-left-color:#dc8c98}
.hero-card .list-item:nth-of-type(2) .text-green{color:#f5d46e}.hero-card .list-item:nth-of-type(3) .text-green{color:#a5c9f0}.hero-card .list-item:nth-of-type(4) .text-green{color:#e7a6ae}
@keyframes welcome-colors{0%,100%{background-position:0% 50%;border-color:rgba(244,213,119,.42)}50%{background-position:100% 50%;border-color:rgba(160,190,229,.5)}}
@media(prefers-reduced-motion:reduce){.hero-card{animation:none!important}.hero-card .list-item:hover{transform:none}}

/* Portal interior: paisaje continuo, tarjetas de vidrio y acentos propios por apartado. */
.workspace{position:relative;isolation:isolate;background:#071421}
.workspace:before{content:'';position:absolute;inset:0 0 auto 0;height:min(1100px,140vh);z-index:0;pointer-events:none;background:linear-gradient(180deg,rgba(5,19,34,.22) 0%,rgba(6,20,34,.44) 49%,#071421 100%),linear-gradient(90deg,rgba(5,18,31,.42),rgba(5,18,31,.12)),url('/assets/ciudad-columbia.png') center 36%/cover no-repeat;opacity:.72}
.page{position:relative;z-index:1;--page-accent:#f1d36a}.page-perfil,.page-expedientes{--page-accent:#9dc5f1}.page-tramites,.page-notificaciones{--page-accent:#f0d477}.page-banco{--page-accent:#a9c6eb}.page-empleos{--page-accent:#e4a1a9}
.page-heading{position:relative;padding-bottom:23px;border-bottom:1px solid #e0edfa2b}.page-heading:after{content:'';position:absolute;bottom:-1px;left:0;width:72px;height:2px;background:var(--page-accent);box-shadow:0 0 17px color-mix(in srgb,var(--page-accent),transparent 45%)}.page .eyebrow{color:var(--page-accent)}.page-heading h1{text-shadow:0 4px 20px #0009}
.topbar{position:relative;z-index:12;background:rgba(7,23,39,.78);border-bottom:1px solid #d4e4f32e;box-shadow:0 10px 30px #0002}.topbar:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#fcd116 0 50%,#377acb 50% 75%,#ce4253 75%);opacity:.65}.top-actions{gap:10px;padding:5px 7px;border:1px solid #d7e9fa36;border-radius:40px;background:rgba(20,51,76,.44);box-shadow:inset 0 1px #ffffff16}.top-actions .avatar{border-color:#edcf7c8c;background:rgba(29,71,75,.7)}.top-actions .user-name{color:#f3f7fa}.top-actions .secondary{border-radius:30px;background:rgba(39,76,107,.55)}
.test-banner{background:linear-gradient(90deg,rgba(28,48,64,.96),rgba(36,52,65,.94));border-bottom:2px solid #d7b760;color:#f3e8c8}.test-banner select{background:rgba(10,29,45,.76);border:1px solid #c7a85f87;color:#fff3d7}
.sidebar{background:linear-gradient(180deg,rgba(7,25,43,.95),rgba(8,28,47,.93));border-right-color:#d4e5f329;backdrop-filter:blur(16px)}.nav-item{border:1px solid transparent;border-radius:9px}.nav-item:hover{background:rgba(60,112,158,.18);border-color:#a8cee633}.nav-item.active{color:#f5f8fa;background:linear-gradient(100deg,rgba(244,211,99,.2),rgba(48,102,158,.22),rgba(163,67,80,.14));border-color:#f5d7794f;box-shadow:inset 3px 0 #f4d46b,0 8px 24px #0002}.nav-item.active svg{color:#f3d476}
.page .panel{background:linear-gradient(140deg,rgba(14,37,57,.66),rgba(9,27,44,.58));border-color:#c9e1f13a;backdrop-filter:blur(9px) saturate(115%);-webkit-backdrop-filter:blur(9px) saturate(115%);box-shadow:0 16px 45px #0004,inset 0 1px #ffffff15}.page .panel:hover{border-color:#d6e8f365}.page .grid>.panel:nth-child(3n+1){border-top:2px solid #f2d273ab}.page .grid>.panel:nth-child(3n+2){border-top:2px solid #8cb8e8ab}.page .grid>.panel:nth-child(3n){border-top:2px solid #dc929bab}
.page .metric{background:linear-gradient(135deg,rgba(16,43,62,.7),rgba(9,31,48,.62));border-color:#c5dff139;backdrop-filter:blur(9px);box-shadow:0 13px 35px #0003}.page .metric:nth-child(3n+1){border-top:2px solid #f2d273a8}.page .metric:nth-child(3n+2){border-top:2px solid #8cb8e8a8}.page .metric:nth-child(3n){border-top:2px solid #dc929ba8}
.page .identity-banner{background:linear-gradient(105deg,rgba(52,70,64,.66),rgba(22,54,78,.62) 57%,rgba(68,38,53,.5));border-color:#e8d49870;backdrop-filter:blur(10px);box-shadow:0 16px 40px #0004}.page .identity-banner .avatar{border-color:#f2d678a6;background:rgba(23,62,78,.74)}
.page :is(.field input,.field select,.field textarea,.filter-input){background:rgba(6,24,40,.65);border-color:#a4c6dd55;backdrop-filter:blur(4px)}.page :is(.field input,.field select,.field textarea,.filter-input):focus-visible{outline:2px solid var(--page-accent);outline-offset:2px}.page .notice{background:rgba(28,57,77,.52);border-color:#afd0e655}.page .empty{background:linear-gradient(90deg,rgba(20,49,71,.19),transparent);border-radius:8px;padding:18px}
@media(max-width:820px){.workspace:before{left:0;background-position:center 36%,center,57% top}.topbar{background:rgba(7,23,39,.68)}.top-actions{padding:4px 5px;gap:7px}.page-heading{padding-bottom:18px}}
@media(max-width:520px){.workspace:before{opacity:.62;background-position:center,center,59% top}.top-actions .user-name{font-size:.73rem}.top-actions .user-name small{font-size:.58rem}.page .panel{backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}}
.page>.panel{border-top:2px solid var(--page-accent)}
.nav-item[href="#perfil"].active,.nav-item[href="#expedientes"].active,.nav-item[href="#banco"].active{box-shadow:inset 3px 0 #9dc5f1,0 8px 24px #0002}.nav-item[href="#perfil"].active svg,.nav-item[href="#expedientes"].active svg,.nav-item[href="#banco"].active svg{color:#a9cef3}
.nav-item[href="#empleos"].active{box-shadow:inset 3px 0 #e3a0a8,0 8px 24px #0002}.nav-item[href="#empleos"].active svg{color:#e9aab2}

/* Credenciales de rol: identidad, vehículo, arma y conducción. */
.credential{position:relative;isolation:isolate;overflow:hidden;min-height:380px;padding:21px;color:#f5f8fc;border:1px solid #c0d9f187;border-radius:17px;background:linear-gradient(105deg,rgba(3,13,28,.94),rgba(5,19,38,.83) 56%,rgba(6,22,42,.57)),url('/assets/ciudad-columbia.png') center 54%/cover no-repeat;box-shadow:0 18px 45px #0007,inset 0 1px #fff3}
.credential:before{content:'';position:absolute;z-index:-1;top:0;left:0;width:145px;height:88px;background:linear-gradient(153deg,#fcd116 0 43%,#003893 43% 68%,#ce1126 68%);clip-path:polygon(0 0,100% 0,0 100%);opacity:.94}
.credential:after{content:'';position:absolute;left:0;right:0;bottom:0;width:auto;height:6px;background:linear-gradient(90deg,#fcd116 0 50%,#003893 50% 75%,#ce1126 75%);box-shadow:0 -2px 16px #0006}
.credential-header{display:flex;align-items:center;gap:11px;min-height:55px;margin-bottom:15px;padding-left:32px}.credential-header>img:first-child{width:44px;height:44px;object-fit:contain;mix-blend-mode:screen;flex:none}.credential-header>div{min-width:0}.credential-header span{display:block;width:max-content;max-width:100%;font-size:.88rem;font-weight:900;letter-spacing:.035em;background:linear-gradient(95deg,#f9e1a1,#c0d5ed 58%,#e6b5bb);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.credential-header strong{display:block;font-size:.69rem;letter-spacing:.16em;color:#e5eef7}.credential-header .credential-flag{width:30px;height:20px;margin-left:auto;border-radius:3px;box-shadow:0 3px 10px #0009}
.credential-person{display:grid;grid-template-columns:98px minmax(0,1fr);gap:17px;align-items:center;margin-bottom:14px}.credential-photo{width:98px;height:112px;display:grid;place-items:center;overflow:hidden;border:1px solid #e7f3ff8c;border-radius:10px;background:rgba(4,16,28,.7);box-shadow:inset 0 0 0 4px #ffffff12}.credential-photo img{display:block;width:100%;height:100%;object-fit:cover}.credential-photo-empty{display:grid;place-items:center;gap:4px;text-align:center;color:#bdcee0}.credential-photo-empty span{font-size:2.1rem;font-weight:800;color:#e9d480}.credential-photo-empty small{font-size:.48rem;letter-spacing:.08em;line-height:1.3}.credential-holder{min-width:0}.credential-holder small,.credential-field dt,.credential-details>span,.credential-meta small{display:block;color:#acbfd1;font-size:.57rem;font-weight:700;letter-spacing:.11em}.credential-holder>strong{display:block;margin:5px 0 3px;font-size:1.2rem;line-height:1.13;color:#fff;overflow-wrap:anywhere}.credential-holder>span{display:block;color:#bcd3ea;font-size:.72rem}.credential-holder>b{display:inline-block;margin-top:9px;padding:4px 8px;border:1px solid #d4e4f34f;border-radius:5px;background:#102c4799;font-size:.72rem;letter-spacing:.04em}
.credential-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.credential-field{min-width:0;padding:8px 10px;border:1px solid #bdd5eb2d;border-radius:7px;background:rgba(5,20,36,.48)}.credential-field dd{margin:4px 0 0;color:#f7f8f9;font-size:.75rem;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.credential-details{margin-top:10px;padding:9px 11px;border-left:2px solid #f4d477;background:rgba(6,20,36,.6);border-radius:0 6px 6px 0}.credential-details p{margin:4px 0 0;color:#f2f6fa;font-size:.72rem;line-height:1.45;overflow-wrap:anywhere}
.credential-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 15px;margin-top:12px;padding-top:12px;border-top:1px solid #dbe7f43d}.credential-meta>div{min-width:0}.credential-meta strong{display:block;margin-top:3px;color:#e9f3fb;font-size:.66rem;line-height:1.25;overflow-wrap:anywhere}.credential-disclaimer{margin-top:13px;color:#cbd7e3;font-size:.55rem;font-weight:700;letter-spacing:.09em;text-align:center}
.credential-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px}.credential-tile{display:flex;flex-direction:column;gap:9px;min-width:0;padding:17px;border:1px solid #c6def03f;border-top:3px solid #eed273;border-radius:10px;background:linear-gradient(125deg,rgba(12,35,55,.74),rgba(10,30,49,.52));box-shadow:0 9px 25px #0003}.credential-tile-vehiculo,.credential-tile-conducir{border-top-color:#8eb6e9}.credential-tile-arma{border-top-color:#de9da8}.credential-tile>div{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.credential-tile>div>span:first-child{color:#f4f7fa;font-size:.81rem;font-weight:800}.credential-tile .pill{font-size:.59rem}.credential-tile>strong{font-size:.75rem;color:#dce9f5}.credential-tile>small{font-size:.65rem;color:#9eb8cc;overflow-wrap:anywhere}.credential-tile button{align-self:flex-start;margin-top:auto}
dialog:has(.credential){max-width:760px}.credential-modal-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:19px}.credential-modal-tools strong{font-size:.86rem}.credential-modal-tools p{margin:6px 0;color:#c4d6e3;font-size:.75rem}.credential-modal-tools small{color:#98b2c3;font-size:.68rem}.credential-modal-tools .actions{margin-top:12px}.credential-modal-tools .qr{margin:0}.credential-modal-tools .qr img{max-width:100px;max-height:100px}#print-credential{display:none}
@media(max-width:520px){.credential{padding:14px;min-height:0}.credential-header{gap:7px;padding-left:21px}.credential-header>img:first-child{width:34px;height:34px}.credential-header span{font-size:.72rem}.credential-header strong{font-size:.57rem}.credential-header .credential-flag{width:22px;height:15px}.credential-person{grid-template-columns:76px minmax(0,1fr);gap:10px}.credential-photo{width:76px;height:93px}.credential-holder>strong{font-size:1rem}.credential-facts{gap:6px}.credential-field{padding:7px}.credential-field dd{font-size:.68rem}.credential-meta strong{font-size:.59rem}.credential-modal-tools{grid-template-columns:1fr}.credential-modal-tools .qr{justify-self:start}}
@media print{body.printing-credential>*:not(#print-credential){display:none!important}body.printing-credential #print-credential{display:block!important;width:175mm;margin:14mm auto}body.printing-credential .credential{width:100%;min-height:105mm;print-color-adjust:exact;-webkit-print-color-adjust:exact;box-shadow:none}body.printing-credential .credential-header span{-webkit-text-fill-color:#e8d8b0}body.printing-credential .credential-facts{grid-template-columns:repeat(2,1fr)}}

dialog:has(.credential){overflow-anchor:none}

/* Primer acceso civil y directorio de cuentas para cargos autorizados. */
.sidebar-registration{margin:6px 13px;padding:15px;border:1px solid #f0d37755;border-radius:9px;background:rgba(35,59,77,.45);color:#d5e2ed;font-size:.76rem;line-height:1.5}
.registration-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}.registration-step{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #a6cbe03b;border-radius:9px;background:rgba(9,31,50,.58);font-size:.73rem;color:#b6ccda}.registration-step b{display:grid;place-items:center;width:29px;height:29px;flex:none;border:1px solid currentColor;border-radius:50%;font-size:.68rem}.registration-step.done{color:#a5d6ba}.registration-step.current{color:#f6d879;border-color:#f6d87972;background:rgba(79,69,40,.28)}
.registration-grid>.panel:first-child{border-top-color:#f4d572}.registration-profile{display:flex;align-items:center;gap:13px;padding:12px;border:1px solid #b5d0e150;border-radius:9px;background:rgba(9,29,47,.62)}.registration-profile .avatar{width:53px;height:53px;flex:none}.registration-profile strong{display:block;color:#f5f7fa}.registration-profile small{display:block;margin-top:5px;color:#afc4d3;overflow-wrap:anywhere}.registration-grid p{margin:18px 0;color:#b7cad7;font-size:.82rem}.registration-role{padding:15px;border-left:3px solid #f1d36c;border-radius:0 8px 8px 0;background:rgba(30,53,70,.53)}.registration-role strong{display:block;color:#f2de9c}.registration-role small{display:block;margin-top:6px;color:#bbccd9;line-height:1.5}.page-registro .page-heading{max-width:850px}
.roster-intro{max-width:750px;font-size:.81rem}.roster-search{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0 18px}.roster-search input{flex:1 1 270px;min-width:0;padding:10px 12px;border:1px solid #a7c6db60;border-radius:8px;background:rgba(5,22,39,.69);color:#f2f7fa}.roster-search .form-error{width:100%;color:#ffadb6;font-size:.72rem}.roster-list{display:grid;gap:9px}.roster-user{display:grid;grid-template-columns:44px minmax(180px,1.2fr) minmax(150px,1fr) auto;gap:13px;align-items:center;padding:12px 14px;border:1px solid #c1d9ea36;border-radius:10px;background:linear-gradient(105deg,rgba(14,42,63,.58),rgba(9,29,48,.45))}.roster-photo{width:42px;height:42px;display:grid;place-items:center;overflow:hidden;border-radius:50%;border:1px solid #d3c27e80;background:#234155;color:#e9d783;font-weight:800}.roster-photo img{width:100%;height:100%;object-fit:cover}.roster-info{min-width:0}.roster-info strong{display:block;color:#f3f8fa;font-size:.85rem}.roster-info small{display:block;margin-top:3px;color:#9db8ca;font-size:.68rem;overflow-wrap:anywhere}.roster-roles{display:flex;flex-wrap:wrap;gap:5px}.role-chip{display:inline-flex;padding:4px 7px;border:1px solid #9fc1de63;border-radius:20px;background:#2450745c;color:#cde3f3;font-size:.64rem}.role-chip.civil{border-color:#e9ce7463;background:#5b51295c;color:#f4df9a}.roster-locked{font-size:.69rem;color:#92aabd}.roster-pages{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;color:#a9becc;font-size:.75rem}.roster-pages>div{display:flex;gap:8px}
@media(max-width:820px){.roster-user{grid-template-columns:42px minmax(0,1fr) auto}.roster-roles{grid-column:2/4}.registration-steps{gap:6px}.registration-step{padding:9px;gap:6px}}
@media(max-width:520px){.registration-steps{grid-template-columns:1fr}.registration-step{min-height:42px}.roster-user{grid-template-columns:40px minmax(0,1fr)}.roster-roles{grid-column:1/-1}.roster-user>button,.roster-locked{grid-column:1/-1;justify-self:start}.roster-pages{align-items:flex-start;flex-direction:column}}
