:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20314c;background:#f3f6fb;font-size:15px;--blue:#155bdb;--ink:#162945;--muted:#71809a;--line:#e5ebf3;--radius:20px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;scroll-behavior:smooth}body{overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.52;cursor:not-allowed}a{color:inherit}[hidden]{display:none!important}input,select,textarea{width:100%;border:1px solid #dbe4ef;border-radius:12px;background:white;padding:13px 14px;color:#24364f;outline:none;transition:border .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:#3389ff;box-shadow:0 0 0 3px #4a96ff1f}textarea{min-height:94px;resize:vertical}input::placeholder,textarea::placeholder{color:#9ca9ba}label{display:grid;gap:7px;color:#43526b;font-size:.88rem;font-weight:700}.muted{color:var(--muted)}.eyebrow{font-size:.7rem;font-weight:900;letter-spacing:1.8px;color:#4685f7}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;border:none;border-radius:12px;padding:11px 17px;font-size:.92rem;font-weight:800;white-space:nowrap;transition:transform .15s,filter .15s}.btn:hover{filter:brightness(1.05);transform:translateY(-1px)}.btn.primary{background:#1764ed;color:white;box-shadow:0 8px 22px #1861e827}.btn.secondary{background:#eaf1ff;color:#155bd7}.btn.ghost{background:#fff;border:1px solid #dfe6ef;color:#395172}.btn.danger{background:#fff0f1;color:#c43045}.btn.wide{width:100%;justify-content:space-between;padding:15px 17px}.btn.sm{padding:8px 11px;min-height:35px;font-size:.79rem}.toast{position:fixed;z-index:300;bottom:26px;left:50%;transform:translate(-50%,30px);background:#193453;color:#fff;border-radius:13px;padding:12px 19px;box-shadow:0 15px 45px #11274442;opacity:0;pointer-events:none;transition:.2s;min-width:200px;text-align:center;font-weight:700}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#c43247}
/* Auth */
.auth-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0e3163 0%,#145bb8 60%,#188fbd 100%);color:white;position:relative;padding:25px}.auth-decor{position:absolute;inset:0;pointer-events:none;opacity:.25;background:radial-gradient(circle at 15% 75%,#4ce2de 0,transparent 32%),radial-gradient(circle at 85% 14%,#677ffc 0,transparent 37%)}.auth-shell{width:min(100%,480px);position:relative}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.logo{background:linear-gradient(135deg,#3cf2e0,#3788f6);color:white;border-radius:13px;width:44px;height:44px;display:grid;place-items:center;font-size:26px;box-shadow:0 6px 20px #1b54c733;flex:none}.auth-brand strong,.brand strong{font-size:20px;letter-spacing:.5px;font-weight:950}.auth-brand strong span,.brand strong span,.mobile-brand span{color:#29cfcb}.auth-brand small,.brand small{display:block;font-size:11px;letter-spacing:.4px;font-weight:600;opacity:.75;margin-top:3px}.auth-panel{background:#fff;color:var(--ink);border-radius:27px;padding:38px;box-shadow:0 26px 85px #071f4799}.auth-symbol{width:49px;height:49px;border-radius:15px;background:#e7f3ff;color:#1764ed;display:grid;place-items:center;font-size:27px;margin-bottom:26px}.auth-panel h1{font-size:2rem;letter-spacing:-1.5px;line-height:1.15;margin:11px 0}.auth-panel p{line-height:1.55;font-size:.95rem;margin-bottom:26px}.field-stack{display:grid;gap:17px}.field-stack button{margin-top:6px}.auth-foot{text-align:center;color:#dce9fa;font-size:.74rem;margin:23px 0}.auth-error{color:#bd2539!important;min-height:10px;margin:12px 0 0!important}
/* Shell */
.workspace{display:flex;min-height:100vh}.sidebar{width:248px;flex:none;position:sticky;top:0;height:100vh;background:#fff;display:flex;flex-direction:column;padding:30px 17px;border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;margin:0 8px 43px}.brand .logo{width:41px;height:41px}.brand strong{font-size:17px}.brand small{color:#6e87a6}.workspace-label{font-size:.66rem;letter-spacing:1.5px;font-weight:900;color:#a3aec1;margin:0 13px 16px}.nav{display:grid;gap:6px}.nav-item{border:0;display:flex;align-items:center;width:100%;gap:13px;padding:14px;border-radius:12px;background:transparent;color:#6e809a;text-align:left;font-weight:750}.nav-item:hover{background:#f5f8fd}.nav-item.active{background:#eaf2ff;color:#0e56d0}.nav-icon{font-size:21px;line-height:1;width:22px;text-align:center}.nav-count{margin-left:auto;background:#f0f3f9;color:#627b9a;border-radius:9px;padding:2px 9px;font-size:.75rem}.sidebar-bottom{margin-top:auto;padding:15px 11px;color:#7f8ba0;font-size:.72rem;line-height:1.5}.sidebar-bottom p{color:#b0bac8}.live-dot{display:inline-block;width:7px;height:7px;border-radius:100%;background:#27bd95;margin-right:5px;box-shadow:0 0 0 3px #27bd9526}.main-area{min-width:0;flex:1}.topbar{height:83px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3vw,47px)}.top-title{color:#8190a7;font-size:.84rem}.breadcrumb strong{color:#253b5b}.slash{color:#b7c0cf;margin:0 8px}.top-actions{display:flex;align-items:center;gap:23px}.today-label{font-weight:750;font-size:.8rem;color:#6d819b}.who{display:flex;gap:10px;align-items:center;border-left:1px solid #e5eaf2;padding-left:22px}.avatar{display:grid;place-items:center;background:#e8f1ff;color:#1761dc;font-weight:900;width:38px;height:38px;border-radius:12px}.who-name{display:grid;gap:2px;font-size:.77rem}.who-name small{font-size:.7rem;color:#96a4b8}.icon-button{border:0;background:#f1f5fa;border-radius:11px;color:#576b85;width:39px;height:39px;display:grid;place-items:center;font-size:22px}.mobile-brand,.mobile-nav{display:none}#main{max-width:1540px;padding:31px clamp(20px,3vw,47px) 75px;margin:auto}.section-intro{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:25px}.page-kicker{font-size:.7rem;color:#2374e6;letter-spacing:1.5px;font-weight:900;margin-bottom:7px}.page-title{font-size:clamp(1.65rem,3vw,2.3rem);font-weight:900;letter-spacing:-1.2px;color:#172b4a;margin:0}.page-subtitle{color:#8492aa;font-size:.91rem;margin:9px 0 0}.intro-actions{display:flex;gap:9px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:28px}.stat-card{background:#fff;border:1px solid #edf0f5;border-radius:18px;padding:22px;box-shadow:0 4px 20px #18345b06;position:relative;overflow:hidden}.stat-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;font-size:23px;margin-bottom:19px}.stat-icon.blue{background:#e6efff;color:#2067e6}.stat-icon.green{background:#dcfaef;color:#04a875}.stat-icon.orange{background:#fff0dc;color:#f18c13}.stat-icon.pink{background:#ffe8f1;color:#e83e80}.stat-label{color:#8996ab;font-weight:750;font-size:.78rem}.stat-number{font-size:2.05rem;line-height:1.2;font-weight:950;color:#213858;margin-top:6px;letter-spacing:-1px}.stat-small{font-size:.71rem;color:#a5b1c1;margin-top:9px}.two-cols{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:19px}.panel{background:#fff;border-radius:19px;border:1px solid #e9eef5;padding:21px;box-shadow:0 6px 30px #1a355d06;margin-bottom:19px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px}.panel-title h2{font-size:1.04rem;margin:0;font-weight:900;color:#29415e}.panel-title small{font-size:.78rem;color:#9ca9bb}.link-button{border:0;background:transparent;color:#1667e9;font-weight:850;font-size:.8rem}.dest-list{display:grid;gap:12px}.dest-legend{display:flex;align-items:center;gap:12px;font-weight:800;font-size:.82rem}.dest-legend .right{margin-left:auto;color:#53637c}.progress{height:8px;border-radius:10px;background:#edf1f7;overflow:hidden;margin-top:8px}.progress-inner{height:100%;border-radius:10px}.bg-air{background:#2675f1}.bg-sta{background:#16ba9c}.bg-via{background:#a363ef}.bg-otr{background:#f5a72e}.legend-dot{width:10px;height:10px;border-radius:50%;flex:none}.legend-dot.air{background:#2675f1}.legend-dot.sta{background:#16ba9c}.legend-dot.via{background:#a363ef}.legend-dot.otr{background:#f5a72e}.hero-box{border-radius:18px;background:linear-gradient(135deg,#1761de,#15a8c2);color:white;padding:26px;margin-bottom:19px;position:relative;overflow:hidden}.hero-box:after{content:'✦';position:absolute;font-size:140px;right:-4px;top:-30px;opacity:.13}.hero-box .hero-badge{font-size:.68rem;letter-spacing:1.5px;font-weight:900;color:#affaf5}.hero-box h2{font-size:1.37rem;line-height:1.23;margin:10px 0 8px;max-width:230px}.hero-box p{font-size:.8rem;color:#deebff;line-height:1.5;max-width:240px}.hero-box .btn{background:white;color:#185cc4;margin-top:13px}.list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.list-head h2{font-size:1.05rem;margin:0}.count-pill{display:inline-block;background:#eaf0fa;border-radius:20px;color:#577394;padding:5px 10px;font-size:.72rem;font-weight:850}
/* Orders */
.filters{display:grid;grid-template-columns:1.25fr .9fr .95fr .85fr auto;align-items:end;gap:10px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:18px;margin-bottom:19px}.filters label{font-size:.76rem}.filters input,.filters select{min-height:41px;padding:9px 12px}.orders-grid{display:grid;gap:12px}.order-card{background:#fff;border:1px solid #e6edf5;border-left:5px solid #2880ed;border-radius:16px;box-shadow:0 5px 20px #1b41680a;padding:17px 18px;display:grid;grid-template-columns:90px minmax(0,1.4fr) minmax(0,1fr) auto;gap:16px;align-items:center}.order-card.santa_justa{border-left-color:#13b99b}.order-card.viaje{border-left-color:#945be9}.order-card.otro{border-left-color:#f0ab36}.time-block{text-align:center;border-right:1px solid #ecf0f5;padding-right:16px}.time-block strong{font-size:1.45rem;color:#152a4a;letter-spacing:-.5px;display:block}.time-block span{font-size:.75rem;font-weight:800;color:#8795aa}.service-main{min-width:0}.service-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:7px}.tag{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:950;letter-spacing:.1px;padding:6px 9px;border-radius:8px}.tag.aeropuerto{background:#e8f1ff;color:#2064d8}.tag.santa_justa{background:#e1f9f2;color:#089978}.tag.viaje{background:#f1e9ff;color:#8d4bd4}.tag.otro{background:#fff3dc;color:#ad730a}.service-main h3{font-size:.99rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1c3555}.service-main .meta{font-size:.76rem;color:#8090a7;margin-top:6px;display:flex;gap:10px;flex-wrap:wrap}.service-info{font-size:.81rem;color:#6c7c94}.service-info p{margin:5px 0}.service-info b{color:#304767}.service-right{text-align:right;display:grid;justify-items:end;gap:12px}.status{font-size:.68rem;font-weight:950;padding:8px 10px;display:inline-flex;align-items:center;gap:6px;border-radius:30px;white-space:nowrap}.status.solicitado{background:#fff2e1;color:#b87710}.status.confirmado{background:#e7f0ff;color:#2372d4}.status.asignado{background:#f0eaff;color:#8253ce}.status.en_camino{background:#def7f8;color:#178caa}.status.finalizado{background:#dff9ed;color:#12965b}.status.cancelado{background:#ffeeee;color:#d24d59}.status:before{content:'';height:7px;width:7px;background:currentColor;border-radius:50%}.order-actions{display:flex;gap:7px}.empty{background:#fff;border:1px dashed #d6e0ed;border-radius:17px;text-align:center;padding:52px 20px;color:#8a9db4}.empty .empty-icon{font-size:35px;margin-bottom:11px}.empty h3{color:#354c6c;margin:0 0 8px}.empty p{margin-bottom:20px}.small-cards{display:grid;gap:10px}.mini-order{border:1px solid #eaf0f6;border-radius:12px;padding:12px 13px;display:flex;align-items:center;gap:12px;cursor:pointer}.mini-order:hover{background:#f8faff}.mini-time{font-size:.95rem;font-weight:900;min-width:49px;color:#2e4666}.mini-order .mini-details{flex:1;min-width:0}.mini-order h3{font-size:.85rem;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-order p{margin:0;font-size:.72rem;color:#8fa0b6}.mini-order .status{padding:5px 8px;font-size:.62rem}
/* Lists */
.data-list{display:grid;gap:11px}.data-row{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;justify-content:space-between;gap:15px;align-items:center}.data-info{display:flex;align-items:center;gap:13px;min-width:0}.data-icon{width:45px;height:45px;border-radius:12px;display:grid;place-items:center;background:#eaf2ff;color:#1865df;font-size:23px;flex:none}.data-row h3{margin:0 0 5px;font-size:.95rem;color:#284260}.data-row p{font-size:.76rem;margin:0;color:#8190a6}.data-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:end}.pill{background:#e5fbf2;border-radius:40px;color:#12875b;font-size:.67rem;font-weight:900;padding:7px 10px}.pill.off{color:#a64752;background:#fff0f1}
/* Modal */
.overlay{position:fixed;inset:0;background:#0c244bb7;z-index:100;display:grid;place-items:center;padding:18px;backdrop-filter:blur(4px)}.modal-card{background:white;border-radius:22px;width:min(100%,660px);max-height:min(95vh,860px);display:flex;flex-direction:column;box-shadow:0 20px 85px #05183172;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:26px 30px 17px;border-bottom:1px solid #edf0f5}.modal-head h2{font-size:1.5rem;color:#182e4b;margin:6px 0 0;letter-spacing:-.6px}.modal-head .close{font-size:19px}.modal-content{padding:22px 30px;overflow:auto;min-height:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid .full{grid-column:1/-1}.form-section{color:#1f63d5;font-size:.69rem;font-weight:950;letter-spacing:1.3px;grid-column:1/-1;margin:7px 0 -5px}.form-actions{display:flex;justify-content:end;gap:10px;border-top:1px solid #edf0f5;padding:18px 30px;background:#fff}.helper{font-size:.72rem;color:#869ab2;line-height:1.5}.detail-top{background:#f4f8fe;padding:18px;border-radius:14px;margin-bottom:18px}.detail-top h3{margin:11px 0 3px;font-size:1.18rem}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-field{padding:12px;background:#f7f9fc;border-radius:11px}.detail-field small{display:block;color:#8d9caf;font-weight:700;font-size:.68rem;margin-bottom:6px}.detail-field strong{font-size:.89rem;white-space:pre-wrap;overflow-wrap:anywhere}.detail-field.full{grid-column:1/-1}.history{border-left:2px solid #dce7f5;padding-left:16px;margin-left:6px}.history-item{font-size:.76rem;color:#5c728c;padding:8px 0;position:relative}.history-item:before{content:'';position:absolute;left:-22px;top:13px;background:#3682e5;width:10px;height:10px;border-radius:100%}.history-item b{display:block;color:#294363}.status-change{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:18px}.status-change select{min-width:0}.hint{margin-top:10px;color:#a1aec0;font-size:.7rem}.settings-note{background:#eef5ff;border:1px solid #d8e8fe;padding:13px 15px;border-radius:12px;color:#4e688f;font-size:.81rem;margin:0 0 18px;line-height:1.5}
@media(max-width:1100px){.two-cols{grid-template-columns:1fr}.stat-grid{gap:10px}.stat-card{padding:17px}.filters{grid-template-columns:1fr 1fr 1fr}.filters .search-filter{grid-column:1 / -1}.order-card{grid-template-columns:80px minmax(0,1.2fr) minmax(0,1fr) auto}}
@media(max-width:820px){.sidebar{display:none}.workspace{display:block}.topbar{height:67px;padding:0 19px}.today-label,.breadcrumb,.who-name{display:none}.who{border-left:0;padding-left:0}.top-actions{gap:10px}.mobile-brand{display:block;font-weight:950;font-size:1.1rem;color:#1d3f6e}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fff;border-top:1px solid #e6ecf3;justify-content:space-around;align-items:stretch;padding:7px 5px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -7px 25px #1c426314}.mobile-nav-item{border:0;background:white;color:#8a9cb3;display:grid;place-items:center;gap:3px;min-width:51px;padding:3px;font-weight:800}.mobile-nav-item span{font-size:23px;line-height:1.2}.mobile-nav-item small{font-size:.62rem}.mobile-nav-item.active{color:#1765db}.plus-nav span{background:#206be8;color:white;width:43px;height:39px;border-radius:13px;display:grid;place-items:center;box-shadow:0 4px 15px #206be83a}#main{padding:25px 16px 115px}.section-intro{margin-bottom:21px}.intro-actions .btn{font-size:.78rem;padding:11px}.stat-grid{grid-template-columns:1fr 1fr}.stat-number{font-size:1.7rem}.stat-icon{width:37px;height:37px;font-size:20px;margin-bottom:13px}.stat-small{font-size:.68rem}.order-card{grid-template-columns:75px minmax(0,1fr) auto;gap:9px;padding:14px}.service-info{grid-column:2/4;display:flex;gap:15px;flex-wrap:wrap}.service-right{grid-column:3;grid-row:1;align-self:start}.time-block{grid-row:1/3;padding-right:9px}.time-block strong{font-size:1.2rem}.time-block span{font-size:.65rem}.service-main{grid-column:2/3}.service-main h3{font-size:.9rem}.service-top .tag{font-size:.61rem}.service-right .status{font-size:.6rem;padding:7px}.service-right .order-actions{gap:4px}.service-right .btn{font-size:.72rem;padding:6px}.filters{grid-template-columns:1fr 1fr;padding:12px}.filters label{font-size:.69rem}.filters .search-filter{grid-column:1/-1}.filters .btn{width:100%}.data-row{align-items:flex-start}.data-actions{align-items:flex-end}.data-row .btn{font-size:.7rem;padding:8px}.modal-card{max-height:calc(100dvh - 20px)}.overlay{padding:10px}.modal-head{padding:18px 19px 14px}.modal-content{padding:18px 19px}.form-actions{padding:13px 19px}.auth-panel{padding:28px}.auth-shell{width:min(100%,450px)}}
@media(max-width:480px){.section-intro{align-items:flex-start}.page-title{font-size:1.65rem}.page-subtitle{font-size:.82rem}.intro-actions{flex-shrink:0}.intro-actions .btn.secondary{display:none}.stat-grid{gap:9px}.stat-card{padding:15px}.stat-label{font-size:.7rem}.stat-number{font-size:1.6rem}.stat-small{font-size:.65rem}.panel{padding:16px}.order-card{grid-template-columns:64px minmax(0,1fr);gap:10px}.time-block{padding-right:9px}.service-main{grid-column:2}.service-right{grid-column:1/3;grid-row:3;display:flex;align-items:center;justify-content:space-between;justify-items:initial}.service-info{grid-column:2/3;display:block;font-size:.75rem}.service-info p{margin:2px 0}.time-block{grid-row:1/3}.filters{gap:8px}.filters input,.filters select{font-size:.79rem;padding:9px}.data-row{flex-direction:column}.data-actions{width:100%;justify-content:space-between}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.details-grid{grid-template-columns:1fr}.detail-field.full{grid-column:1}.auth-panel{padding:24px}}
#modal-body{min-height:0;overflow:auto}
#modal-body .modal-content{overflow:visible}
