*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--black:#111110;--dark:#1c1c1a;--dark2:#252522;--dark3:#2e2e2b;--mid:#3e3e3a;--border:#ffffff14;--page-bg:#161614;--card-bg:#1f1f1c;--teal:#1dbfa0;--teal-dim:#1dbfa01f;--teal-text:#07604e;--teal-bg:#d0f5ee;--amber:#f5a623;--amber-dim:#f5a6231a;--amber-text:#7a4d05;--amber-bg:#fff3dc;--red:#e8453c;--red-dim:#e8453c1a;--red-text:#8a1f1f;--red-bg:#ffecec;--text-p:#f2f1ed;--text-s:#f2f1ed8c;--text-t:#f2f1ed4d;--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--font-heading:"Syne", sans-serif;--font-body:"DM Sans", sans-serif}html,body{font-family:var(--font-body);color:var(--text-p);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;background:#0e0e0d;min-height:100dvh;overflow-x:hidden}#root{background:var(--page-bg);flex-direction:column;width:100%;max-width:430px;min-height:100dvh;margin:0 auto;display:flex;position:relative}::-webkit-scrollbar{display:none}html{scrollbar-width:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}ul,ol{list-style:none}a{color:inherit;text-decoration:none}.bottom-nav{background:var(--dark);border-top:1px solid var(--border);z-index:100;flex-shrink:0;width:100%;max-width:430px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item{color:var(--text-t);flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 4px 10px;transition:color .15s;display:flex}.nav-icon-wrap{border-radius:8px;justify-content:center;align-items:center;padding:4px 14px;transition:background .15s;display:flex}.nav-icon{width:20px;height:20px}.nav-label{font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:700}.nav-item.active{color:var(--teal)}.nav-item.active .nav-icon-wrap{background:var(--teal-dim)}.nav-item.active .nav-label{color:var(--teal)}.app-layout{flex-direction:column;min-height:100dvh;display:flex}.app-main{flex-direction:column;flex:1;padding-bottom:60px;display:flex}.app-header{background:var(--black);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.logo-area{align-items:center;gap:8px;display:flex}.logo-img{object-fit:contain;width:auto;height:120px}.header-right{text-align:right;flex-direction:column;align-items:flex-end;gap:1px;display:flex}.header-date{color:var(--text-t);text-transform:capitalize;font-size:10px;font-weight:300}.header-count{font-family:var(--font-heading);color:var(--amber);font-size:13px;font-weight:700}.filter-row{flex-shrink:0;gap:6px;padding:0 16px 12px;display:flex;overflow-x:auto}.filter-row::-webkit-scrollbar{display:none}.fpill{font-family:var(--font-heading);letter-spacing:.04em;border:1px solid var(--border);color:var(--text-s);cursor:pointer;background:0 0;border-radius:20px;flex-shrink:0;padding:6px 14px;font-size:10px;font-weight:700;transition:all .15s}.fpill.active{background:var(--teal);color:#fff;border-color:var(--teal);font-weight:800}.badge{font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;border-radius:20px;align-items:center;gap:4px;padding:3px 8px;font-size:9px;font-weight:700;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;width:5px;height:5px}.badge-amber{background:var(--amber-dim);color:var(--amber)}.badge-teal{background:var(--teal-dim);color:var(--teal)}.badge-red{background:var(--red-dim);color:var(--red)}.cita-card{background:var(--card-bg);border-radius:var(--r-lg);border:1px solid var(--border);align-items:stretch;gap:12px;padding:12px 14px;display:flex;position:relative;overflow:hidden}.cita-card:before{content:"";background:var(--amber);border-radius:0 2px 2px 0;width:3px;position:absolute;top:0;bottom:0;left:0}.cita-card.accepted:before{background:var(--teal)}.cita-card.late:before{background:var(--red)}.time-col{flex-direction:column;align-items:center;min-width:38px;padding-top:2px;display:flex}.time-hour{font-family:var(--font-heading);color:var(--text-p);font-size:16px;font-weight:800;line-height:1}.time-min{color:var(--text-t);font-size:11px;font-weight:300}.time-dot{background:var(--amber);border-radius:50%;width:6px;height:6px;margin-top:8px}.time-dot.accepted{background:var(--teal)}.time-dot.late{background:var(--red)}.cita-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.cita-name{font-family:var(--font-heading);color:var(--text-p);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.cita-service{color:var(--text-s);font-size:11px}.cita-note{color:var(--text-t);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:10px;font-style:italic;overflow:hidden}.cita-action{flex-shrink:0;align-items:center;display:flex}.btn-accept{background:var(--teal);color:#fff;border-radius:var(--r-sm);font-family:var(--font-heading);letter-spacing:.04em;cursor:pointer;white-space:nowrap;text-transform:uppercase;border:none;padding:10px 14px;font-size:10px;font-weight:800;transition:opacity .15s}.btn-accept:active{opacity:.8}.btn-accepted{background:var(--teal-dim);color:var(--teal);border-radius:var(--r-sm);font-family:var(--font-heading);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;border:1px solid #1dbfa040;padding:10px 12px;font-size:10px;font-weight:700}.citas-page{flex-direction:column;flex:1;display:flex}.screen-titlebar{flex-shrink:0;padding:16px 16px 10px}.screen-title{font-family:var(--font-heading);color:var(--text-p);letter-spacing:-.4px;font-size:20px;font-weight:800}.screen-sub{color:var(--text-t);margin-top:2px;font-size:11px}.scroll-area{flex-direction:column;flex:1;gap:8px;padding:4px 12px 16px;display:flex;overflow-y:auto}.empty-msg{text-align:center;color:var(--text-t);padding:40px 0;font-size:13px}.progress-bar-wrap{background:var(--dark2);border-radius:4px;width:100%;height:4px;overflow:hidden}.progress-bar-fill{background:var(--teal);border-radius:4px;height:100%;transition:width .3s}.bici-card{background:var(--card-bg);border-radius:var(--r-lg);border:1px solid var(--border);overflow:hidden}.bici-card-top{border-left:3px solid var(--amber);justify-content:space-between;align-items:flex-start;padding:14px 14px 12px;display:flex}.bici-card-top.lista{border-left-color:var(--teal)}.bici-card-top.urgente{border-left-color:var(--red)}.bici-card-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.bici-name{font-family:var(--font-heading);color:var(--text-p);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.bici-meta{color:var(--text-s);font-size:11px}.bici-note{color:var(--text-t);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-style:italic;overflow:hidden}.bici-progress-row{align-items:center;gap:10px;margin:4px 0 2px;display:flex}.bici-progress-bar{flex:1}.bici-progress-count{font-family:var(--font-heading);color:var(--teal);flex-shrink:0;font-size:11px;font-weight:700}.bici-card-actions{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.bici-act-btn{color:var(--text-s);font-family:var(--font-heading);letter-spacing:.04em;cursor:pointer;text-transform:uppercase;background:0 0;border:none;padding:12px 8px;font-size:10px;font-weight:700;transition:background .15s}.bici-act-btn:first-child{border-right:1px solid var(--border)}.bici-act-btn:active{background:#ffffff0a}.bici-act-btn.primary{color:var(--teal)}.bici-act-btn.checklist{color:var(--amber)}.taller-page{flex-direction:column;flex:1;display:flex}.detalle-page{flex-direction:column;flex:1;padding:0 0 100px;display:flex}.detalle-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.back-btn{font-family:var(--font-heading);color:var(--teal);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:600}.detalle-info{border-bottom:1px solid var(--border);padding:18px 16px 14px}.detalle-cliente{font-family:var(--font-heading);color:var(--text-p);margin-bottom:2px;font-size:18px;font-weight:700}.detalle-bici{color:var(--text-s);margin-bottom:10px;font-size:13px}.detalle-tags{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.detalle-tag{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:600}.detalle-tag.servicio{background:var(--teal-dim);color:var(--teal)}.detalle-tag.fecha{background:var(--amber-dim);color:var(--amber)}.detalle-nota{color:var(--text-t);font-size:12px;font-style:italic;line-height:1.4}.detalle-progreso{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:14px 16px;display:flex}.progreso-head{justify-content:space-between;align-items:center;display:flex}.progreso-label{font-family:var(--font-heading);color:var(--text-p);font-size:13px;font-weight:700}.progreso-count{font-family:var(--font-heading);color:var(--teal);font-size:12px;font-weight:600}.progreso-pct{color:var(--text-t);text-align:right;font-size:11px}.detalle-checklist{padding:14px 16px}.checklist-title{font-family:var(--font-heading);color:var(--text-p);margin-bottom:12px;font-size:14px;font-weight:700}.checklist-list{flex-direction:column;gap:2px;display:flex}.checklist-item{background:var(--dark2);border-radius:var(--r-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:12px;padding:12px;transition:background .15s;display:flex}.checklist-item:active{background:var(--dark3)}.checklist-item.locked{cursor:default;opacity:.7}.checklist-item.locked:active{background:var(--dark2)}.checklist-item.done{opacity:.6}.check-box{border:2px solid var(--mid);width:22px;height:22px;color:var(--black);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .15s;display:flex}.check-box.checked{background:var(--teal);border-color:var(--teal)}.check-label{color:var(--text-p);font-size:13px;line-height:1.3}.checklist-item.done .check-label{color:var(--text-t);text-decoration:line-through}.detalle-actions{margin-top:auto;padding:16px}.action-btn{border-radius:var(--r-md);width:100%;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;padding:14px;font-size:14px;font-weight:700;transition:opacity .15s}.action-btn:active{opacity:.85}.action-btn:disabled{opacity:.35;cursor:not-allowed}.action-btn.ready{background:var(--teal);color:var(--black)}.lista-msg{text-align:center;color:var(--teal);font-size:13px;font-weight:600;font-family:var(--font-heading);padding:10px 0}.historial-page{flex-direction:column;flex:1;display:flex}.historial-search-wrap{padding:0 12px 6px;position:relative}.search-icon{width:15px;height:15px;color:var(--text-t);pointer-events:none;position:absolute;top:50%;left:22px;transform:translateY(-65%)}.historial-search{background:var(--dark2);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text-p);font-family:var(--font-body);outline:none;padding:10px 12px 10px 36px;font-size:13px;transition:border-color .15s}.historial-search::placeholder{color:var(--text-t)}.historial-search:focus{border-color:var(--teal)}.hist-card{background:var(--card-bg);border-radius:var(--r-lg);border:1px solid var(--border);border-left:3px solid var(--teal);overflow:hidden}.hist-card-top{justify-content:space-between;align-items:flex-start;gap:10px;padding:14px 14px 8px;display:flex}.hist-info{flex:1;min-width:0}.hist-name{font-family:var(--font-heading);color:var(--text-p);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.hist-meta{color:var(--text-s);margin-top:2px;font-size:11px}.hist-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--teal-dim);color:var(--teal);white-space:nowrap;border-radius:6px;flex-shrink:0;padding:3px 8px;font-size:9px;font-weight:700}.hist-details{flex-direction:column;gap:4px;padding:0 14px 10px;display:flex}.hist-detail-row{justify-content:space-between;align-items:center;display:flex}.hist-label{color:var(--text-t);font-size:11px}.hist-value{color:var(--text-s);font-size:11px;font-weight:500}.hist-value.dur{color:var(--amber);font-weight:700}.hist-note{color:var(--text-t);border-top:1px solid var(--border);border-top:1px solid var(--border);margin:0 14px 12px;padding:8px 0 0;font-size:11px;font-style:italic}
