:root{--navy:#111b33;--navy2:#142647;--ink:#18243d;--muted:#738099;--line:#e8edf4;--paper:#f6f8fc;--blue:#435bea;--blue2:#5675ff;--aqua:#49d1c7;--radius:16px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}button:disabled{opacity:.65;cursor:wait}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:#6175eb!important;box-shadow:0 0 0 3px #566cff17}h1,h2,h3,p{margin-top:0}[hidden]{display:none!important}.wrap{max-width:1250px;padding-left:32px;padding-right:32px;margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid transparent;border-radius:10px;font-weight:700;font-size:14px;padding:13px 20px;transition:transform .18s,background .18s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn-lg{padding:17px 24px;font-size:15px}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 6px 18px #435bea25}.btn-primary:hover{background:#344bd4}.btn-outline{background:#fff;border-color:#dce3ef;color:#34415c}.btn-white{background:#fff;color:#1b2d59}.eyebrow{font-weight:800;font-size:11px;letter-spacing:2px;color:#d0d9ff;display:flex;gap:10px;align-items:center}.eyebrow.simple{color:var(--blue);letter-spacing:1.6px}.eyebrow.light{color:#a7c3ff}.pulse-dot{background:#47d8bf;width:7px;height:7px;display:inline-block;border-radius:50%;box-shadow:0 0 0 4px #47d8bf25;flex:none}.brand{display:inline-flex;align-items:center;gap:11px;color:#fff;font-size:22px;font-weight:800;letter-spacing:-1px;line-height:1}.brand small{display:block;font-weight:700;font-size:8px;letter-spacing:3px;margin-top:5px;opacity:.5}.brand-dot{color:#6b82ff}.brand-glyph{position:relative;background:linear-gradient(145deg,#7086ff,#3650c9);width:39px;height:39px;display:flex;align-items:center;justify-content:center;border-radius:11px;color:#fff;font-size:25px;font-weight:850;letter-spacing:-3px;box-shadow:0 8px 25px #435bea2a}.brand-glyph span{position:absolute;width:8px;height:8px;border-radius:2px;background:#73e2d3;top:8px;right:5px}.brand-dark{color:#1d2c4a}
/* Public marketing website */
.landing-body{background:#fff;overflow-x:hidden}.public-nav{height:98px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.top-links{display:flex;gap:35px;font-size:13px;font-weight:600;color:#516079}.top-links a:hover{color:var(--blue)}.nav-login{gap:25px}.landing-hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;min-height:635px;gap:28px;padding-top:18px;padding-bottom:75px}.hero-copy{padding-bottom:30px}.hero-copy .eyebrow{color:var(--blue)}.hero-copy h1{font-size:clamp(48px,5vw,76px);letter-spacing:-4.2px;line-height:1.105;margin:27px 0 23px;font-weight:800}.hero-copy h1 em{font-style:normal;color:var(--blue)}.hero-copy>p{font-size:17px;line-height:1.8;max-width:510px;color:#68768e}.hero-buttons{display:flex;align-items:center;gap:26px;margin-top:31px}.quiet-link{font-weight:750;color:#41516c;font-size:13px}.hero-checks{display:flex;flex-wrap:wrap;gap:23px;font-size:12px;color:#7c889c;margin-top:60px}.hero-checks span:first-letter{color:var(--blue)}.hero-art{height:535px;background:radial-gradient(ellipse at 55% 42%,#dce6ff 0%,#eff3ff 38%,#fff 75%);border-radius:55% 45% 52% 48%;position:relative;display:flex;align-items:center;justify-content:center}.art-grid{position:absolute;inset:25px;background-image:radial-gradient(#667ce430 1px,transparent 1px);background-size:25px 25px;mask-image:radial-gradient(ellipse,#000 10%,transparent 65%)}.art-card{width:365px;background:#fff;border:1px solid #e3eaf5;border-radius:19px;box-shadow:0 22px 85px #223c8840;transform:rotate(-3deg);padding:27px;z-index:1}.art-head{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0f7;padding-bottom:23px;margin-bottom:10px}.art-logo{height:40px;width:40px;background:#eaf0ff;color:var(--blue);font-size:25px;display:grid;place-items:center;border-radius:10px;font-weight:800}.art-head strong{font-size:14px}.art-head small{display:block;font-size:9px;letter-spacing:1.2px;color:#9aa5b7;margin-top:4px}.art-dots{margin-left:auto;align-self:flex-start;color:#9ca9c0;letter-spacing:2px}.art-line{display:flex;justify-content:space-between;border-bottom:1px solid #f1f3f8;padding:18px 0;font-size:11px}.art-line span{color:#8390a9}.art-line b{font-size:12px}.art-progress{padding-top:20px;font-size:10px;color:#8a97ab;display:flex;justify-content:space-between;align-items:center;gap:16px}.art-progress>i{display:block;width:125px;height:6px;background:#edf3f5;border-radius:20px;overflow:hidden}.art-progress>i i{display:block;width:85%;height:100%;background:#5bd6bd;border-radius:20px}.art-action{display:flex;justify-content:space-between;background:var(--blue);color:white;padding:14px;margin-top:20px;border-radius:9px;font-size:12px;font-weight:800}.art-float{position:absolute;z-index:2;background:white;display:flex;align-items:center;gap:11px;box-shadow:0 15px 43px #2442822a;border:1px solid #ebf0fa;border-radius:13px;padding:12px 14px;font-size:10px}.art-float b{display:block;color:#1d2e4f;font-size:11px}.art-float small{display:block;color:#9ba8ba;margin-top:3px}.float-left{top:80px;left:8px;transform:rotate(4deg)}.mini-icon{width:35px;height:35px;display:grid;place-items:center;background:#eff3ff;color:var(--blue);border-radius:9px;font-size:20px}.green-check{background:#e4faf2;border-radius:50%;width:18px;height:18px;color:#36c89d;text-align:center;line-height:18px}.float-right{bottom:68px;right:2px;transform:rotate(5deg)}.xml-square{background:#e4faf2;color:#21ab93;padding:11px;border-radius:9px;font-size:11px;font-weight:800}.features{background:#f7f9fd;padding:98px 0 105px}.section-top{text-align:center}.section-top .eyebrow{justify-content:center}.section-top h2{font-size:42px;letter-spacing:-1.8px;line-height:1.15;margin:17px 0 48px}.section-top h2 span{color:#7e8ba4}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature{background:white;border:1px solid #e9edf5;border-radius:18px;padding:32px 29px;min-height:245px;position:relative}.feature-number{position:absolute;right:28px;top:32px;font-size:12px;color:#b2bdcc;font-weight:700}.feature-icon{background:#eef1ff;border-radius:12px;width:54px;height:54px;display:grid;place-items:center;color:var(--blue);font-size:26px}.feature h3{font-size:18px;margin:22px 0 9px}.feature p{line-height:1.7;color:#8490a5;font-size:13px;margin-bottom:0}.closing{background:#1a2c58;color:#fff;border-radius:24px;display:flex;justify-content:space-between;align-items:center;margin-top:95px;margin-bottom:95px;padding-top:62px;padding-bottom:62px;position:relative;overflow:hidden}.closing:after{content:"";position:absolute;right:160px;top:-200px;width:400px;height:400px;border:1px solid #ffffff20;border-radius:50%;pointer-events:none}.closing h2{font-size:45px;line-height:1.12;letter-spacing:-2px;margin:18px 0}.closing p{color:#b4c3e0;font-size:14px;max-width:480px}.closing .btn{z-index:1}.public-footer{border-top:1px solid #e9edf5;padding-top:27px;padding-bottom:35px;color:#8792a6;font-size:12px;display:flex;justify-content:space-between}
/* Login */
.auth-body{background:#f8faff;min-height:100vh}.auth-shell{display:grid;grid-template-columns:46% 54%;min-height:100vh}.auth-aside{background:linear-gradient(145deg,#101c3a 5%,#213d85 100%);color:white;padding:55px 70px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.auth-aside:before{content:"";position:absolute;top:30%;right:-280px;width:600px;height:600px;border:1px solid #ffffff19;border-radius:50%;box-shadow:0 0 0 100px #ffffff05,0 0 0 200px #ffffff04}.auth-aside-copy{position:relative;z-index:1}.auth-aside-copy h1{font-size:clamp(42px,4.5vw,65px);letter-spacing:-3px;line-height:1.13;margin:25px 0}.auth-aside-copy h1 em{font-style:normal;color:#83a1ff}.auth-aside-copy p{font-size:15px;line-height:1.85;color:#bdc9e5;max-width:430px}.auth-lines{display:flex;gap:9px;margin-top:55px}.auth-lines span{display:block;height:5px;width:35px;border-radius:20px;background:#6581ef}.auth-lines span:nth-child(2){width:19px;background:#ffffff4d}.auth-lines span:nth-child(3){width:8px;background:#ffffff4d}.auth-aside-bottom{font-size:10px;letter-spacing:1.3px;font-weight:700;opacity:.65;display:flex;justify-content:space-between}.auth-main{padding:48px 85px;display:flex;flex-direction:column;justify-content:space-between}.back-link{font-size:13px;font-weight:700;color:#6a7b95}.auth-form-card{width:min(420px,100%);margin:40px auto}.login-symbol{height:54px;width:54px;display:grid;place-items:center;color:#fff;background:var(--blue);border-radius:16px;box-shadow:0 10px 23px #435bea39;font-size:30px;font-weight:900;margin-bottom:27px}.auth-form-card h2{font-size:37px;letter-spacing:-1.4px;margin:13px 0 10px}.auth-form-card>p{font-size:14px;color:#8490a4;line-height:1.7;margin-bottom:34px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:21px}.field>span{font-size:12px;font-weight:750;color:#364561}.field em{font-style:normal;color:#d96161}.field input,.field select,.field textarea{width:100%;background:white;color:#273854;border:1px solid #dfe6f0;padding:13px 14px;font-size:13px;border-radius:9px;min-height:46px}.field textarea{resize:vertical;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:#adb7c6}.password-wrap{position:relative}.password-wrap input{padding-right:86px}.password-toggle{border:0;background:transparent;position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#66799a;font-size:11px;font-weight:700}.submit-btn{margin-top:7px;width:100%;justify-content:space-between;padding:16px 19px}.auth-help{text-align:center;font-size:11px;color:#9aa5b5;margin-top:25px}.auth-legal{text-align:center;font-size:11px;color:#a0aabb}.form-error{background:#fff1f1;color:#bb3c43;padding:11px 13px;border:1px solid #ffd5d5;border-radius:9px;font-size:12px;line-height:1.4}
/* App layout */
.workspace-body{background:#f6f8fc;color:#1c2942}.workspace{min-height:100vh;display:flex}.sidebar{width:254px;flex:none;background:#111e39;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;color:#aab6d0;padding:30px 14px 18px;z-index:30}.sidebar-head{padding:1px 15px 39px}.sidebar-category{font-size:9px;letter-spacing:1.5px;font-weight:800;color:#677895;padding:0 15px 13px}.sidebar-category-second{margin-top:30px}.side-links{display:flex;flex-direction:column;gap:5px}.side-link{border:0;text-align:left;background:transparent;color:#aab6d0;border-radius:9px;padding:13px 14px;display:flex;align-items:center;gap:15px;font-size:12px;font-weight:650;min-height:45px}.side-link:hover{background:#ffffff0a;color:white}.side-link.active{background:#4059c3;color:#fff;box-shadow:inset 3px 0 #8aa6ff}.nav-icon{font-size:19px;width:22px;text-align:center;line-height:1}.nav-count{margin-left:auto;background:#ffffff18;border-radius:7px;padding:3px 7px;font-size:10px}.sidebar-bottom{margin-top:auto}.sidebar-status{background:#1b2a48;border:1px solid #2b3b5a;padding:13px;border-radius:11px;display:flex;gap:11px;align-items:center;margin-bottom:13px}.sidebar-status b{display:block;color:#cbd6eb;font-size:11px}.sidebar-status small{display:block;color:#7e90af;font-size:10px;margin-top:5px}.sidebar-status .pulse-dot{width:6px;height:6px}.profile{padding:13px 7px;border:0;background:transparent;display:flex;align-items:center;width:100%;gap:9px;color:#dae3f4;text-align:left;border-top:1px solid #2b3854}.avatar,.header-avatar{background:#536deb;color:#fff;font-weight:800;display:grid;place-items:center;border-radius:11px;width:36px;height:36px}.profile-data{flex:1;min-width:0}.profile-data b{font-size:11px;display:block}.profile-data small{font-size:10px;color:#8090af;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.logout-icon{font-size:22px;color:#a5b5d2}.main-layout{min-width:0;flex:1}.app-header{height:76px;background:#fff;border-bottom:1px solid #e9eef5;display:flex;align-items:center;justify-content:space-between;padding:0 46px}.breadcrumb{font-size:12px;color:#8b96a9;font-weight:600}.breadcrumb span{margin:0 13px;color:#c3cbd8}.breadcrumb b{font-weight:750;color:#354362}.header-right{display:flex;align-items:center;gap:24px}.app-env{font-size:11px;color:#62738e;font-weight:700;display:flex;gap:11px;align-items:center}.app-env .pulse-dot{width:6px;height:6px;box-shadow:0 0 0 3px #47d8bf25}.header-avatar{width:33px;height:33px;border-radius:9px;font-size:12px}.app-content{max-width:1420px;margin:auto;padding:42px 46px 80px}.view{display:none}.view.active{display:block}.welcome-heading,.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:27px}.welcome-heading h1,.section-heading h1{font-size:30px;letter-spacing:-1.1px;margin:11px 0 10px;font-weight:800}.accent-dot{color:var(--blue)}.welcome-heading p,.section-heading p{font-size:13px;color:#8d9aab;margin-bottom:0}.today{font-size:12px;color:#78869c;text-transform:capitalize;margin-bottom:7px}.dashboard-hero{background:linear-gradient(110deg,#253d9c 0%,#435def 65%,#5975ff 100%);border-radius:17px;position:relative;overflow:hidden;min-height:270px;display:flex;align-items:center;padding:34px 39px;color:#fff;box-shadow:0 15px 28px #435bea16}.dashboard-hero-copy{z-index:2;position:relative;max-width:570px}.dashboard-hero h2{font-size:29px;letter-spacing:-.8px;margin:16px 0 12px}.dashboard-hero p{font-size:13px;line-height:1.75;color:#d8e1ff;max-width:485px;margin-bottom:22px}.hero-label{font-size:10px;font-weight:750;letter-spacing:1.6px;color:#c6d4ff}.hero-label span{color:#9fe9ed;font-size:16px;margin-right:6px}.dashboard-graphic{position:absolute;right:20px;top:-12px;height:310px;width:380px;opacity:.88}.orbit{position:absolute;border:1px solid #ffffff26;border-radius:50%;width:310px;height:310px;right:16px;top:0}.orbit-two{width:210px;height:210px;right:65px;top:50px}.graphic-sheet{position:absolute;width:178px;height:190px;background:#ffffffdc;right:75px;top:56px;border-radius:10px;box-shadow:0 15px 40px #1d297064;transform:rotate(-10deg);padding:20px;color:#5068be;font-size:9px;font-weight:850}.graphic-sheet i{display:block;width:95%;height:8px;background:#dce5f9;border-radius:4px;margin-top:19px}.graphic-sheet i:nth-of-type(2){width:80%}.graphic-sheet i:nth-of-type(3){width:60%}.graphic-code{display:inline-block;background:#e0eaff;border-radius:6px;padding:8px;margin-top:19px}.graphic-bubble{position:absolute;right:43px;top:175px;background:#61dec3;color:white;width:49px;height:49px;display:grid;place-items:center;border-radius:50%;font-size:23px;box-shadow:0 9px 23px #1d297055}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 37px}.stat{background:#fff;border:1px solid #e8edf5;border-radius:12px;padding:22px 24px}.stat-top{color:#7c899f;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:space-between}.stat-top span{width:33px;height:33px;background:#eff2fe;color:var(--blue);border-radius:9px;display:grid;place-items:center;font-size:18px}.stat-value{font-size:31px;font-weight:850;letter-spacing:-1px;margin:7px 0 4px}.stat-sub{font-size:10px;color:#a2adbc}.list-heading{display:flex;align-items:center;justify-content:space-between;margin:32px 0 17px}.list-heading h3{font-size:17px;margin:0 0 7px}.list-heading p{font-size:11px;color:#91a0b2;margin:0}.subtle-btn{border:0;background:transparent;color:var(--blue);font-size:12px;font-weight:750}.table-card{background:#fff;border:1px solid #e8edf4;border-radius:13px;overflow:hidden;min-height:100px}.table-scroller{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:650px}th{text-align:left;font-size:10px;color:#8d9cb1;background:#fbfcfe;font-weight:800;padding:17px 22px;letter-spacing:.3px;border-bottom:1px solid #edf0f5}td{font-size:11px;padding:17px 22px;border-bottom:1px solid #f1f3f7;color:#63718a}tbody tr{cursor:pointer}tbody tr:hover{background:#f9faff}tbody tr:last-child td{border-bottom:0}.table-code{display:block;color:var(--blue);font-size:10px;font-weight:800;margin-bottom:5px}.table-title{display:block;color:#273652;font-weight:750;font-size:12px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#f1b45d;margin-right:7px}.tag{font-size:10px;font-weight:700;padding:5px 9px;border-radius:5px;background:#eef1ff;color:#536ad8;text-transform:capitalize}.tag-alta,.tag-urgente{background:#ffedf0;color:#ca6574}.tag-baja{background:#eaf8f3;color:#43aa83}.table-action{text-align:right}.arrow-btn{width:29px;height:29px;display:grid;place-items:center;border:1px solid #e8edf4;background:#fff;color:#637796;border-radius:7px;font-size:15px}.empty-list{text-align:center;padding:52px 20px}.empty-icon{display:block;margin:0 auto 17px;background:#f0f3ff;color:#566cef;border-radius:13px;width:52px;height:52px;line-height:52px;font-size:28px}.empty-list b{display:block;font-size:15px}.empty-list p{font-size:12px;color:#99a4b4;margin:9px 0 24px}.filter-bar{display:flex;align-items:center;justify-content:space-between;margin:30px 0 20px}.search-field{position:relative;display:block;width:min(480px,80%)}.search-field span{position:absolute;top:10px;left:14px;font-size:24px;color:#91a1b9}.search-field input{padding:13px 17px 13px 45px;border:1px solid #e0e7f0;border-radius:10px;width:100%;font-size:12px;background:#fff}.count-hint{font-size:12px;color:#8e9aab}.notice{display:flex;align-items:flex-start;gap:17px;padding:22px;background:#eef1ff;border:1px solid #e0e6ff;border-radius:13px;color:#243968}.notice-icon{width:40px;height:40px;background:#dce5ff;border-radius:10px;display:grid;place-items:center;flex:none;font-size:22px;color:#4c64da}.notice b{font-size:13px}.notice p{font-size:12px;color:#6c7eab;line-height:1.7;max-width:830px;margin:7px 0 0}.notice-muted{margin-top:21px;background:#fff;border-color:#e8edf4}.settings-card{background:#fff;border:1px solid #e7edf6;border-radius:13px;padding:25px 30px}.settings-card h3{font-size:17px;margin:0 0 20px}.setting-line{border-top:1px solid #eef1f6;display:flex;justify-content:space-between;gap:25px;padding:18px 0;font-size:12px}.setting-line span{color:#8a98ab}.setting-line b{color:#34435f}.menu-toggle,.close-mobile{display:none}.mobile-shade{display:none}
/* Modals */
.modal-backdrop{position:fixed;inset:0;background:#13203b9c;display:flex;align-items:center;justify-content:center;padding:22px;z-index:60}.modal{width:min(650px,100%);max-height:min(90vh,900px);background:#fff;border-radius:17px;display:flex;flex-direction:column;box-shadow:0 24px 80px #10204450;overflow:hidden}.modal-detail{width:min(730px,100%)}.modal-head{padding:25px 30px 20px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #edf0f5}.modal-head h2{font-size:24px;letter-spacing:-.6px;margin:8px 0 0}.icon-btn{width:33px;height:33px;background:#f3f6fb;color:#7a8ca4;border:0;border-radius:9px;font-size:25px;line-height:1}.modal-scroll{overflow:auto;min-height:0;padding:26px 30px;overscroll-behavior:contain}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.span-2{grid-column:span 2}.form-footnote{font-size:11px;color:#9aa8b9}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 30px;border-top:1px solid #edf0f5;background:#fff}.modal-footer .btn{min-width:115px}.detail-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px 22px}.detail-summary>div{border-bottom:1px solid #edf0f4;padding-bottom:12px}.detail-summary>div:last-child{grid-column:span 2}.detail-summary span{display:block;color:#8c9aae;font-size:11px;margin-bottom:7px}.detail-summary b{display:block;font-size:13px;color:#344461;white-space:pre-wrap;overflow-wrap:anywhere}.detail-actions{display:flex;gap:12px;margin:26px 0}.xml-preview-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.xml-preview-head h3{font-size:14px;margin:0}.xml-preview-head span{font-size:10px;color:#8d9bab}.xml-preview{background:#141e32;color:#b7d9ff;border-radius:10px;padding:20px;overflow:auto;max-height:270px;white-space:pre;line-height:1.65;font-size:11px}.toast{position:fixed;right:25px;bottom:24px;background:#213b6a;color:white;padding:15px 20px;border-radius:11px;box-shadow:0 10px 30px #162e6144;z-index:80;font-size:12px;font-weight:700;max-width:360px}.toast-error{background:#a93853}
@media(max-width:1100px){.dashboard-graphic{opacity:.35;right:-60px}.auth-main{padding:40px}.auth-aside{padding:45px}.app-content{padding:38px 30px}.app-header{padding:0 30px}.landing-hero{gap:0}.hero-art{transform:scale(.9)}.hero-copy h1{font-size:58px}}
@media(max-width:800px){.top-links{display:none}.landing-hero{grid-template-columns:1fr;padding-top:45px}.hero-art{height:420px;transform:scale(.88)}.hero-copy h1{font-size:52px}.hero-checks{margin-top:30px}.features{padding:70px 0}.feature-grid{grid-template-columns:1fr}.feature{min-height:auto}.closing{margin-top:55px;margin-bottom:55px;flex-direction:column;align-items:flex-start;gap:22px}.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}.auth-main{min-height:100vh}.sidebar{position:fixed;transform:translateX(-100%);transition:transform .2s}.sidebar.mobile-open{transform:translateX(0)}.mobile-shade.visible{display:block;position:fixed;inset:0;background:#101d3499;z-index:25}.close-mobile,.menu-toggle{display:block;background:transparent;border:0;color:inherit;font-size:23px}.close-mobile{position:absolute;right:16px;top:34px}.menu-toggle{color:#344762;margin-right:15px}.app-header{height:66px}.dashboard-graphic{right:-100px}.app-content{padding:31px 23px 60px}}
@media(max-width:550px){.wrap{padding-left:22px;padding-right:22px}.public-nav{height:77px}.nav-login{padding:11px 13px;font-size:12px}.landing-hero{padding-top:30px;padding-bottom:10px}.hero-copy h1{font-size:44px;letter-spacing:-2.6px}.hero-copy>p{font-size:15px}.hero-buttons{align-items:flex-start;flex-direction:column;gap:22px}.hero-art{height:360px;transform:scale(.76);margin:-25px -70px}.float-left{left:3px}.float-right{right:0}.section-top h2{font-size:32px}.closing h2{font-size:39px}.public-footer{flex-direction:column;gap:12px}.auth-main{padding:28px 23px}.auth-form-card{margin:70px auto 30px}.auth-form-card h2{font-size:33px}.header-right .app-env{display:none}.app-header{padding:0 21px}.app-content{padding:25px 17px 50px}.welcome-heading,.section-heading{align-items:flex-start;flex-direction:column;gap:13px}.welcome-heading h1,.section-heading h1{font-size:26px}.today{font-size:11px}.dashboard-hero{min-height:280px;padding:27px 24px}.dashboard-hero h2{font-size:24px}.dashboard-hero-copy{max-width:100%}.dashboard-hero p{font-size:12px}.dashboard-graphic{opacity:.1}.stat-grid{grid-template-columns:1fr;gap:11px}.stat{padding:18px}.stat-value{font-size:26px}.filter-bar{gap:10px}.search-field{width:100%}.count-hint{display:none}.modal-backdrop{padding:10px}.modal{max-height:96vh}.modal-head{padding:20px}.modal-scroll{padding:19px}.modal-footer{padding:15px 20px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.detail-summary{grid-template-columns:1fr}.detail-summary>div:last-child{grid-column:span 1}.detail-actions{flex-direction:column}.notice{padding:17px}.settings-card{padding:19px}.setting-line{flex-direction:column;gap:7px}}

/* GrafiPack Engine v0.2 · Administración */
.sidebar-bottom{display:flex;flex-direction:column;gap:10px}
.admin-shortcut{border:0;background:transparent;color:#879ab9;width:100%;text-align:left;font-size:12px;cursor:pointer;padding:9px 12px;border-radius:9px;display:flex;gap:9px;align-items:center;transition:background .2s}
.admin-shortcut:hover,.admin-shortcut:focus-visible{color:#fff;background:#ffffff17}
.admin-shortcut-arrow{margin-left:auto;font-size:14px}
.admin-shortcut[hidden]{display:none!important}
.admin-private-pill{color:#4b61d1;background:#edf1ff;padding:9px 13px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.admin-tabs{display:flex;gap:8px;margin:22px 0 25px;overflow:auto;padding-bottom:5px}
.admin-tab{background:#fff;border:1px solid #e5eaf4;border-radius:11px;padding:12px 18px;color:#74819b;cursor:pointer;white-space:nowrap;font-weight:650;font-size:13px}
.admin-tab.active{color:#435bea;background:#ecf0ff;border-color:#bac8ff}
.admin-pane{display:none}.admin-pane.active{display:block}
.admin-split{display:grid;grid-template-columns:minmax(245px,.78fr) minmax(0,1.65fr);gap:19px;align-items:start;margin-top:20px}
.admin-split-users{grid-template-columns:minmax(0,1.35fr) minmax(270px,1fr)}
.admin-card{background:white;border:1px solid #e5eaf3;border-radius:17px;padding:22px;min-width:0}
.admin-card h3{font-size:17px;color:#1e2b47;margin:0 0 17px}
.admin-card h4{font-size:14px;margin:24px 0 10px;color:#1e2b47}
.admin-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:16px}
.admin-card-head h3{margin:0}
.btn-sm{padding:10px 12px!important;font-size:12px!important}
.admin-template-list,.admin-user-list{display:grid;gap:8px}
.admin-list-item{background:#fafbff;border:1px solid #edf0f7;border-radius:11px;padding:13px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:9px;justify-content:space-between;color:#26344f;width:100%;font-family:inherit}
.admin-list-item:hover,.admin-list-item.selected{border-color:#9eafff;background:#f0f3ff}
.admin-list-item .details{display:grid;gap:5px;min-width:0}
.admin-list-item .details b{font-size:13px;overflow:hidden;text-overflow:ellipsis}
.admin-list-item .details small{color:#8090a8;font-size:11px;overflow:hidden;text-overflow:ellipsis}
.admin-tag{background:#eff1f7;color:#6c788f;font-size:10px;font-weight:750;border-radius:20px;padding:5px 8px;white-space:nowrap}
.admin-tag.active{background:#e5fbf1;color:#087d56}
.admin-template-editor form,.admin-card form{display:grid;gap:14px}
.admin-template-editor .field,.admin-card .field{margin:0}
.admin-template-editor input[type=file]{padding:11px;background:#f8faff}
.xml-editor{width:100%;min-height:310px;font-family:ui-monospace,Menlo,Consolas,monospace!important;font-size:12px!important;line-height:1.6!important;tab-size:2;white-space:pre;resize:vertical}
.admin-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.admin-actions .btn:disabled{opacity:.5;cursor:not-allowed}
.admin-help{font-size:12px;color:#79849b;line-height:1.7;margin:0}
.admin-revision-list{color:#71809b;font-size:12px;display:grid;gap:7px}
.admin-revision{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #edf0f5}
.admin-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:10px 0 25px;color:#73819b;font-size:12px}
.admin-pagination button{padding:7px 12px;background:#fff;border:1px solid #e5eaf3;border-radius:8px;cursor:pointer;color:#364b75}
.admin-pagination button:disabled{opacity:.3;cursor:not-allowed}
.admin-table-btn{border:1px solid #dfe7f5;border-radius:8px;background:#fff;color:#465bb2;padding:7px 10px;font-size:11px;cursor:pointer}
.admin-table-btn:disabled{opacity:.35;cursor:not-allowed}
.admin-empty{padding:26px;text-align:center;color:#7a88a1;font-size:13px}
.admin-pane table td{font-size:12px;vertical-align:top}
.admin-pane table td small{color:#7b8aa3;display:block;font-size:11px;margin-top:4px}
@media(max-width:1020px){.admin-split,.admin-split-users{grid-template-columns:1fr}}
@media(max-width:600px){.admin-card{padding:16px}.admin-tabs{margin:15px 0}.admin-tab{padding:10px 12px;font-size:12px}.admin-private-pill{font-size:10px}.admin-pane table{min-width:680px}}

/* GrafiPack v0.3: XML → formulario sin dependencias frontend adicionales. */
.designer-library { margin-top: 18px; }
.designer-wizard { margin-top: 18px; }
.designer-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:20px; margin:20px 0; }
.designer-raw { min-height:200px; max-height:560px; overflow:auto; font-size:12px; white-space:pre; }
.designer-field-list { display:flex; flex-direction:column; gap:8px; max-height:565px; overflow:auto; padding-right:4px; }
.designer-field-row { display:flex; flex-direction:column; gap:8px; border:1px solid #e5eaf2; padding:12px; border-radius:12px; background:#fbfcff; }
.designer-check { display:grid; grid-template-columns:18px minmax(0,1fr); column-gap:10px; align-items:center; }
.designer-check input { grid-row:span 2; width:17px; height:17px; accent-color:#5765df; }
.designer-check b { overflow-wrap:anywhere; font-size:13px; }
.designer-check small { grid-column:2; color:#78849c; font-size:11px; }
.designer-field-row > input { border:1px solid #e5eaf2; border-radius:8px; padding:8px 10px; width:100%; background:#fff; font-size:12px; }
.designer-preview { margin-top:20px; padding:16px; border:1px solid #e5eaf2; border-radius:12px; }
.designer-preview h4 { margin-top:0; margin-bottom:14px; }
.designer-type-item { display:flex; gap:12px; align-items:center; border-bottom:1px solid #e9edf4; padding:12px 8px; flex-wrap:wrap; }
.designer-type-item .details { flex:1; min-width:170px; }
.designer-type-item .details small { display:block; color:#7c879a; font-size:11px; margin-top:3px; }
.request-type-picker { margin-bottom:18px; }
.request-type-picker select { width:100%; }
#dynamic-request-fields { margin-top:16px; }
#dynamic-request-fields .field span { overflow-wrap:anywhere; }
@media(max-width:950px) { .designer-columns { grid-template-columns:1fr; } }

[hidden] { display:none !important; }
.designer-shade { position:fixed; inset:0; background:rgba(18,29,54,.56); z-index:500; }
.designer-wizard { position:fixed; z-index:501; inset:4vh 4vw; width:auto; max-width:none; margin:0; overflow:auto; box-shadow:0 16px 70px rgba(10,23,48,.28); padding:24px; }
.designer-wizard .designer-columns { min-height:48vh; }
.designer-wizard #designer-step-fields,.designer-wizard #designer-step-preview { max-width:1500px; margin:0 auto; }
@media(max-width:700px){ .designer-wizard { inset:1vh 1vw; padding:14px; } }

/* GrafiPack v0.4 · JobOrder y formularios XML agrupados */
#form-modal.has-dynamic .modal-request { width:min(1050px, 98vw); max-height:94vh; }
#form-modal.has-dynamic .modal-scroll {background:#f6f8fc;}
.modal-request .request-type-picker {background:white;padding:15px 18px;border:1px solid #e1e7f1;border-radius:12px;}
.admin-template-buttons {display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.admin-template-buttons button {white-space:normal;text-align:center;}
.gp-dynamic-form {margin-top:16px;}
.gp-form-banner {display:flex;gap:14px;align-items:center;background:#192b58;color:white;border-radius:14px;padding:18px 21px;margin:12px 0 22px;box-shadow:0 8px 23px #1b316a15;}
.gp-form-banner-icon {width:39px;height:39px;border-radius:10px;background:#ffffff1b;display:grid;place-items:center;font-size:14px;font-weight:800;}
.gp-form-banner b {display:block;font-size:17px;letter-spacing:-.3px;}
.gp-form-banner small {display:block;color:#d0dafa;font-size:11px;margin-top:5px;}
.gp-form-section {border:1px solid #e1e7f0;background:#fff;border-radius:14px;margin:0 0 17px;overflow:hidden;box-shadow:0 5px 14px #152d5306;}
.gp-section-heading {display:flex;align-items:center;gap:13px;padding:18px 21px 15px;border-bottom:1px solid #edf1f7;background:#fcfdff;}
.gp-section-number {width:35px;height:35px;background:#edf0ff;border-radius:10px;display:grid;place-items:center;color:#4257db;font-size:11px;font-weight:800;}
.gp-section-heading h3 {font-size:15px;letter-spacing:-.2px;margin:0;color:#213451;}
.gp-section-heading p {font-size:11px;color:#8b98af;margin:4px 0 0;}
.gp-section-fields {padding:21px 21px 4px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;}
.gp-section-fields .field span {display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.gp-xml-field.gp-full {grid-column:span 2;}
.gp-field-unit {font-weight:700!important;background:#eff3fb;padding:3px 7px;border-radius:5px;color:#6e7c95!important;font-size:10px!important;}
.gp-joborder .gp-xml-field input,.gp-joborder .gp-xml-field textarea {font-variant-numeric:tabular-nums;}
.designer-config-grid {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.designer-config-label,.designer-config-grid label {display:flex;flex-direction:column;gap:5px;min-width:0;}
.designer-config-label span,.designer-config-grid span {font-size:10px;font-weight:700;color:#74839b;}
.designer-config-label input,.designer-config-grid input,.designer-config-grid select {border:1px solid #dfe5ef;border-radius:8px;min-width:0;width:100%;padding:8px 9px;font-size:12px;background:#fff;}
.designer-field-group h4 {font-size:13px;color:#28395a;margin:15px 2px 10px;}
.designer-field-group h4 small {font-size:10px;color:#8290a7;font-weight:500;margin-left:7px;}
.designer-field-row {margin-bottom:8px;}
.designer-preview .gp-form-section {box-shadow:none;}
@media (max-width:680px) {.gp-section-fields{grid-template-columns:1fr;padding:16px 15px 0}.gp-xml-field.gp-full{grid-column:auto}.designer-config-grid{grid-template-columns:1fr}.gp-form-banner {padding:15px}#form-modal.has-dynamic .modal-request{width:100%;max-height:96vh}}

.gp-order-meta {display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fff;border:1px solid #e1e7f0;border-radius:13px;padding:17px 22px;margin:0 0 18px;}
.gp-order-meta > span{font-size:12px;font-weight:800;color:#34435e;min-width:170px;}
.gp-order-meta .field {flex:1;max-width:460px;margin:0;}
@media(max-width:650px) { .gp-order-meta {align-items:stretch;flex-direction:column;} .gp-order-meta .field{max-width:none;} }


/* GrafiPack 0.4.2 · Desplazamiento real en ventanas grandes de solicitud.
   El formulario es un item flex y debe ceder altura al scroll interior. */
.modal-request { max-height: min(94dvh, 900px); }
.modal-request > .modal-head { flex: 0 0 auto; }
.modal-request > #request-form { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow: hidden; }
.modal-request #request-form > .modal-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; scrollbar-gutter: stable; overscroll-behavior: contain; }
.modal-request #request-form > .modal-footer { flex: 0 0 auto; }
@media (max-height: 650px) { .modal-request { max-height: 97dvh; } .modal-request .modal-head {padding-top: 14px; padding-bottom: 12px;} .modal-request .modal-footer {padding-top: 12px; padding-bottom: 12px;} }
/* Editor de opciones de listas desplegables. */
.designer-options { padding: 12px; background: #eff3ff; border: 1px solid #dce4ff; border-radius: 10px; }
.designer-options-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.designer-options-head span { font-size: 11px; font-weight: 800; color: #36476b; }
.designer-option-add { color: #3d53d3; font-weight: 800; font-size: 11px; background: #fff; border: 1px solid #cbd6ff; padding: 8px 10px; border-radius: 8px; }
.designer-option-list { display: flex; flex-direction: column; gap: 7px; }
.designer-option-row { display: flex; gap: 8px; align-items: center; }
.designer-option-row input { min-width: 0; flex: 1; padding: 9px 10px; border: 1px solid #dce4f5; border-radius: 8px; font-size: 12px; background: #fff; }
.designer-option-remove { width: 32px; height: 32px; flex: none; border: 1px solid #dce4f5; border-radius: 8px; background: #fff; font-size: 19px; color: #8796ac; }
.designer-options > small { display: block; margin-top: 9px; font-size: 10px; color: #6a7797; }
.gp-xml-field select { cursor: pointer; }
