@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--bg:#070b11;--panel:#0d131d;--panel2:#111927;--line:#202b3a;--text:#f4f7fb;--muted:#8793a7;--cyan:#22d3ee;--blue:#3b82f6;--green:#3ddc97;--danger:#fb7185;--radius:18px}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 80% 0,#0c2639 0,transparent 30%),var(--bg)}button,input{font:inherit}a{color:inherit}.eyebrow{color:var(--cyan);font-size:.72rem;font-weight:800;letter-spacing:.18em;margin:0 0 8px}.primary{border:0;border-radius:10px;background:linear-gradient(135deg,var(--cyan),var(--blue));color:#041019;font-weight:800;padding:13px 20px;cursor:pointer;box-shadow:0 8px 28px #1487c833}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:Manrope,sans-serif}.brand>span,.mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,var(--cyan),var(--blue));color:#041019;font:800 20px Manrope;box-shadow:0 0 24px #22d3ee33}
.login-shell{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh}.login-art{display:flex;align-items:flex-end;padding:9vw;background:linear-gradient(0deg,#05080ecf,#05080e44),linear-gradient(125deg,#081521,#0b3044 50%,#11233e);position:relative;overflow:hidden}.login-art:after{content:'';position:absolute;width:500px;height:500px;border:1px solid #42dff744;border-radius:50%;right:-180px;top:-100px;box-shadow:0 0 90px #22d3ee22}.login-art h1{font:800 clamp(3rem,6vw,6rem)/.95 Manrope;margin:15px 0}.login-art h1 em{font-style:normal;color:var(--cyan)}.login-art p{color:#bac7d8;font-size:1.1rem}.login-panel{display:grid;place-items:center;padding:30px}.login-card{width:min(420px,100%)}.login-card .mark{margin-bottom:35px}.login-card h2{font:800 2rem Manrope;margin:0 0 6px}.login-card>p{color:var(--muted);margin:0 0 32px}.login-card label,.upload>label:not(.drop){display:grid;gap:8px;color:#b8c2d0;font-size:.86rem;font-weight:600;margin:17px 0}.login-card input,.upload input,.search{background:#0d1520;border:1px solid #263447;color:white;border-radius:10px;padding:13px 14px;outline:0}.login-card input:focus,.upload input:focus,.search:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #22d3ee18}.login-card .primary{width:100%;margin-top:12px}.secure-note{display:block;text-align:center;color:#617087;margin-top:20px}.alert{background:#fb71851a;color:#fda4af;border:1px solid #fb71854d;padding:11px;border-radius:9px;margin-bottom:18px}
.dashboard{display:grid;grid-template-columns:235px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:235px;padding:28px 18px;border-right:1px solid var(--line);background:#080d14;display:flex;flex-direction:column}.sidebar .brand{padding:0 8px 30px}.sidebar nav{display:grid;gap:5px}.sidebar nav a,.nav-button{display:flex;gap:12px;align-items:center;padding:12px;border:0;border-radius:10px;background:transparent;color:#8e9aac;text-decoration:none;cursor:pointer;text-align:left}.sidebar nav a:hover,.nav-button:hover{background:#111b28;color:#fff}.sidebar form{margin-top:auto}.nav-button{width:100%}.main{grid-column:2;padding:38px clamp(24px,4vw,64px);max-width:1600px;width:100%}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.topbar h1{font:800 2rem Manrope;margin:0}.status{padding:8px 13px;border:1px solid #295845;background:#12251e;border-radius:99px;color:#8bf1bd;font-size:.8rem}.status i{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:6px;box-shadow:0 0 10px var(--green)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.stats article,.card{background:linear-gradient(145deg,#101823,#0c121b);border:1px solid var(--line);border-radius:var(--radius);padding:23px}.stats span{display:block;color:var(--muted);font-size:.86rem}.stats strong{font:800 2rem Manrope;display:block;margin:8px 0}.stats small{color:#58667a}.grid{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(420px,1.25fr);gap:20px}.card h2{font:700 1.25rem Manrope;margin:0}.upload{display:flex;flex-direction:column}.drop{border:1px dashed #32445c;border-radius:14px;min-height:170px;display:grid;place-items:center;align-content:center;gap:6px;color:#c6d1df;cursor:pointer;margin:8px 0 18px;background:#0a111a}.drop:hover{border-color:var(--cyan);background:#0d1a24}.drop>span{font-size:2rem;color:var(--cyan)}.drop small{color:var(--muted)}.drop input{position:absolute;opacity:0;width:1px}.section-title,.table-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title a{font-size:.8rem;color:var(--cyan);text-decoration:none}.post-list{display:grid}.post-list article{display:grid;grid-template-columns:58px 1fr auto;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.post-list article:last-child{border:0}.post-list img{width:58px;height:49px;border-radius:8px;object-fit:cover}.post-list article>div{min-width:0}.post-list strong,.post-list small,.post-list a{display:block}.post-list small{color:var(--muted);font-size:.76rem;margin:3px 0}.post-list a{font-size:.72rem;color:#5aaef7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy{border:1px solid #304258;background:#121d2b;color:#b7c4d4;border-radius:8px;padding:8px;cursor:pointer}.empty{text-align:center;color:var(--muted);padding:35px}.search{width:min(330px,45vw)}.table-card{padding:0;overflow:hidden}.table-meta{padding:18px 22px;margin:0;border-bottom:1px solid var(--line)}.table-meta span{color:var(--muted);font-size:.78rem}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.82rem}th{text-align:left;padding:13px 16px;color:#758399;background:#0a1018;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}td{padding:15px 16px;border-bottom:1px solid var(--line);vertical-align:top;max-width:250px}td small,td strong{display:block}td small{color:var(--muted);margin-top:5px;word-break:break-word}code{color:#7dd3fc}.pill{display:inline-block;padding:5px 8px;border-radius:99px;font-size:.7rem}.pill.yes{background:#123b2b;color:#6ee7b7}.pill.no{background:#332516;color:#fbbf24}
.viewer{min-height:100vh;padding:25px clamp(18px,5vw,70px) 150px}.viewer header{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:auto}.safe{color:#7e8b9e;font-size:.8rem}.viewer figure{margin:55px auto 0;max-width:1050px}.viewer figure img{display:block;max-width:100%;max-height:68vh;margin:auto;border-radius:14px;box-shadow:0 30px 90px #000a}.viewer figcaption{text-align:center}.viewer h1{font:700 clamp(1.4rem,3vw,2.2rem) Manrope;margin:25px 0 5px}.viewer figcaption p{color:var(--muted)}.consent{position:fixed;z-index:10;left:20px;right:20px;bottom:20px;max-width:980px;margin:auto;padding:18px;display:grid;grid-template-columns:1fr auto auto;gap:13px;align-items:center;background:#111a27f5;border:1px solid #2b3b50;border-radius:15px;box-shadow:0 20px 70px #000}.consent strong{font-family:Manrope}.consent p{margin:4px 0 0;color:#95a2b5;font-size:.8rem}.consent button:not(.primary){background:transparent;border:1px solid #35465c;color:#b7c3d3;border-radius:10px;padding:12px;cursor:pointer}.consent.hidden{display:none}.not-found{text-align:center;padding:20vh 20px}.not-found h1{font:800 6rem Manrope;color:var(--cyan);margin:0}.not-found p{color:var(--muted)}
@media(max-width:850px){.login-shell{grid-template-columns:1fr}.login-art{display:none}.dashboard{display:block}.sidebar{position:static;width:100%;height:auto;display:flex;flex-direction:row;align-items:center;padding:12px 18px}.sidebar .brand{padding:0}.sidebar nav{margin-left:auto;display:flex}.sidebar nav a span,.nav-button span{display:none}.sidebar form{margin:0}.main{padding:25px 16px}.stats{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.consent{grid-template-columns:1fr 1fr}.consent>div{grid-column:1/-1}.topbar{align-items:flex-end}.post-list article{grid-template-columns:50px 1fr}.post-list .copy{grid-column:2}.viewer{padding-left:16px;padding-right:16px}}

/* Cargador interactivo */
.drop{min-height:210px;position:relative;overflow:hidden;transition:.2s}
.drop:hover,.drop.dragging{border-color:var(--cyan);background:#0d1a24;box-shadow:inset 0 0 30px #22d3ee0b}
.drop .drop-icon{font-size:2rem;color:var(--cyan)}
.drop img{display:none;max-width:100%;height:125px;object-fit:contain;border-radius:9px;margin-bottom:5px}
.drop.has-preview img{display:block}.drop.has-preview .drop-icon{display:none}
.upload-progress{display:none;margin:-3px 0 16px}.upload-progress.visible{display:block}
.upload-progress>div{display:flex;justify-content:space-between;color:#aab6c6;font-size:.78rem;margin-bottom:7px}
.upload-progress progress{appearance:none;width:100%;height:8px;border:0;border-radius:99px;overflow:hidden;background:#1c2939}
.upload-progress progress::-webkit-progress-bar{background:#1c2939}.upload-progress progress::-webkit-progress-value{background:linear-gradient(90deg,var(--cyan),var(--blue));transition:width .2s}
.upload-result{display:none;padding:11px;border-radius:9px;margin-bottom:13px;font-size:.82rem}.upload-result.error,.upload-result.success{display:block}
.upload-result.error{background:#fb71851a;border:1px solid #fb718544;color:#fda4af}.upload-result.success{background:#3ddc9715;border:1px solid #3ddc9744;color:#8bf1bd}
.created-link{display:flex;gap:6px;margin-top:9px}.created-link input{min-width:0;flex:1;padding:8px!important}.created-link button{border:0;border-radius:7px;background:#20334a;color:#d8e6f5;padding:7px;cursor:pointer}.upload .primary:disabled{opacity:.55;cursor:wait}
.settings-card{margin-top:20px;display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.settings-help{color:var(--muted);font-size:.85rem;max-width:440px}.settings-card form{display:grid;gap:13px}.settings-card textarea{min-height:100px;resize:vertical;background:#0a111a;border:1px solid #2b3b50;border-radius:10px;color:#fff;padding:13px;font:inherit}.toggle{display:flex;gap:9px;align-items:center;color:#aab6c6;font-size:.84rem}.toggle input{accent-color:var(--cyan)}.consent small{display:block;color:#738197;margin-top:6px;font-size:.72rem}.telemetry-cards{display:grid;gap:12px;margin-top:18px}.telemetry-card{padding:0;overflow:hidden}.telemetry-card summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;justify-content:space-between;align-items:center}.telemetry-card summary::-webkit-details-marker{display:none}.telemetry-card summary span>*{display:block}.telemetry-card summary small{color:var(--muted);margin-top:5px}.telemetry-card summary b{color:var(--cyan);font-size:.8rem}.telemetry-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);margin:0;border-top:1px solid var(--line)}.telemetry-card dl>div{background:#0c131d;padding:12px 18px;min-width:0}.telemetry-card dt{color:#6f7f94;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.telemetry-card dd{margin:5px 0 0;color:#d3dbe6;font-size:.78rem;word-break:break-word}.map-link{display:block;padding:14px 18px;color:var(--cyan);text-decoration:none;border-top:1px solid var(--line)}
@media(max-width:850px){.settings-card{grid-template-columns:1fr}.telemetry-card dl{grid-template-columns:1fr}}
