@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=DM+Mono:wght@400;500&display=swap";:root{--bg:#f0eeeb;--surface:#fff;--surface-2:#f6f5f3;--surface-3:#edecea;--border:#00000017;--border-md:#00000024;--border-strong:#0003;--text:#1a1a18;--text-2:#5a5956;--text-3:#9a9895;--font:"DM Sans", sans-serif;--font-mono:"DM Mono", monospace;--font-brand:"Barlow Condensed", sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--topbar-h:52px;--topbar-h-m:56px;--sidebar-w:210px;--bottomnav-h:66px;--s-presup-bg:#def;--s-presup-c:#0a4a8c;--s-curso-bg:#eae8fd;--s-curso-c:#3a3199;--s-pago-bg:#fdf0d8;--s-pago-c:#6b3f05;--s-logistica-bg:#fdeae2;--s-logistica-c:#6e2e10;--s-entregado-bg:#e5f2d8;--s-entregado-c:#284e0a;--s-cancelado-bg:#eeece8;--s-cancelado-c:#44423f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font-family:var(--font)}a{color:inherit;text-decoration:none}.brand{font-family:var(--font-brand);letter-spacing:.02em;text-transform:uppercase;color:var(--text);font-weight:700;line-height:1}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-body{flex:1;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);background:var(--surface);border-bottom:.5px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:0 20px;display:flex}.topbar .brand{font-size:22px}.topbar-center{color:var(--text);letter-spacing:-.01em;font-size:14px;font-weight:600}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-user{color:var(--text-2);font-size:13px}.sidebar{width:var(--sidebar-w);background:var(--surface);border-right:.5px solid var(--border);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.sidebar-section{padding:12px 10px 4px}.sidebar-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px;padding:0 8px;font-size:10px}.sidebar-footer{border-top:.5px solid var(--border);margin-top:auto;padding:14px 18px}.sidebar-footer .sf-label{color:var(--text-3);font-size:11px}.sidebar-footer .sf-value{font-size:18px;font-weight:500;font-family:var(--font-mono);color:var(--text);margin-top:4px}.sidebar-logo{border-bottom:.5px solid var(--border);padding:18px 16px 10px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:10px 8px;display:flex}.sidebar-item{border-radius:var(--radius-sm);font-size:13px;font-family:var(--font);color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:8px 10px;transition:background .12s;display:flex}.sidebar-item:hover{background:var(--surface-2);color:var(--text)}.sidebar-item.active{background:var(--surface-2);color:var(--text);font-weight:500}.topbar-tabs{background:var(--surface-3);border-radius:10px;gap:0;padding:3px;display:flex}.view-toggle-btn{font-family:var(--font);color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;flex:1;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s}.view-toggle-btn.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000014}.topbar-logo{display:block}@media (width>=768px){.topbar{display:none}}.nav-item{border-radius:var(--radius-sm);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;width:100%;font-size:13px;font-family:var(--font);background:0 0;border:none;align-items:center;gap:8px;padding:7px 8px;transition:background .12s;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--surface-2);color:var(--text);font-weight:500}.nav-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.nav-badge{background:var(--surface-3);color:var(--text-2);border-radius:10px;margin-left:auto;padding:1px 6px;font-size:10px;font-weight:500}.main{flex-direction:column;flex:1;display:flex;overflow:hidden}.content{flex:1;padding:18px;overflow-y:auto}@media (width<=767px){.app{height:100dvh}.sidebar{display:none}.topbar{height:var(--topbar-h-m);padding:0 16px}.topbar .brand{font-size:20px}.topbar-center{font-size:15px}.content{padding:14px 14px calc(var(--bottomnav-h) + 14px)}.desktop-only{display:none!important}}@media (width>=768px){.mobile-only{display:none!important}}.bottom-nav{height:var(--bottomnav-h);background:var(--surface);border-top:.5px solid var(--border);z-index:100;justify-content:space-around;align-items:center;padding-bottom:8px;display:none;position:fixed;bottom:0;left:0;right:0}@media (width<=767px){.bottom-nav{display:flex}}.bn-item{cursor:pointer;font-family:var(--font);appearance:none;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 0;display:flex}.bn-icon{font-size:20px;line-height:1}.bn-label{color:var(--text-3);font-size:10px;font-weight:500}.bn-item.active .bn-label{color:var(--text);font-weight:600}.bn-active-dot{background:var(--text);border-radius:50%;width:4px;height:4px;margin-bottom:1px}.btn{cursor:pointer;font-family:var(--font);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;font-weight:500;transition:opacity .15s,background .12s;display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--text);color:var(--surface);border-radius:var(--radius-sm);padding:9px 18px;font-size:14px;font-weight:600}.btn-primary:hover:not(:disabled){opacity:.82}.btn-secondary{color:var(--text-2);border:.5px solid var(--border-md);border-radius:var(--radius-sm);background:0 0;padding:8px 16px;font-size:13px}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-danger{color:#a32d2d;border-radius:var(--radius-sm);background:0 0;border:.5px solid #e2a0a0;padding:8px 16px;font-size:13px}.btn-danger:hover:not(:disabled){background:#fff0f0}.btn-sm{border-radius:var(--radius-sm);padding:5px 12px;font-size:12px}.btn-pill{border-radius:var(--radius-xl);border:.5px solid var(--border-md);color:var(--text-3);cursor:pointer;font-size:12px;font-family:var(--font);background:0 0;padding:5px 14px;transition:all .12s}.btn-pill:hover{background:var(--surface-2);color:var(--text-2)}.btn-pill.active{background:var(--text);color:var(--surface);border-color:var(--text)}.fab{bottom:calc(var(--bottomnav-h) + 14px);background:var(--text);color:#fff;cursor:pointer;z-index:99;border:none;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:24px;transition:opacity .15s;display:none;position:fixed;right:18px;box-shadow:0 4px 16px #0003}.fab:hover{opacity:.85}@media (width<=767px){.fab{display:flex}}.form-group{flex-direction:column;gap:5px;display:flex}.form-group label{color:var(--text-2);font-size:12px;font-weight:500}.form-group input,.form-group select,.form-group textarea{border-radius:var(--radius-sm);border:.5px solid var(--border-md);background:var(--surface);height:40px;color:var(--text);outline:none;padding:0 12px;font-size:13px;transition:border-color .12s}.form-group textarea{resize:vertical;height:auto;min-height:80px;padding:10px 12px;line-height:1.5}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--text)}@media (width<=767px){.form-group input,.form-group select{height:48px;font-size:15px}}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-full{grid-column:1/-1}@media (width<=767px){.form-grid{grid-template-columns:1fr}.form-full{grid-column:1}}.form-label{color:var(--text-2);margin-bottom:2px;font-size:12px;font-weight:500;display:block}.form-input{border-radius:var(--radius-sm);border:.5px solid var(--border-md);background:var(--surface);height:40px;color:var(--text);font-size:13px;font-family:var(--font);box-sizing:border-box;outline:none;width:100%;padding:0 12px;transition:border-color .12s}.form-input:focus{border-color:var(--text)}.form-select{border-radius:var(--radius-sm);border:.5px solid var(--border-md);background:var(--surface);height:40px;color:var(--text);font-size:13px;font-family:var(--font);box-sizing:border-box;outline:none;width:100%;padding:0 12px}.etiqueta-checks{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.etiqueta-check-pill{border:1px solid var(--border-md);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface);border-radius:20px;align-items:center;gap:5px;padding:4px 10px 4px 8px;font-size:12px;transition:all .12s;display:inline-flex}.etiqueta-check-pill:hover{border-color:var(--text-3);color:var(--text)}.etiqueta-check-pill.selected{border-color:var(--text);background:var(--surface-2);color:var(--text);font-weight:500}.card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-md)}.module-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text);padding:18px;transition:box-shadow .15s,border-color .15s,transform .12s;display:block}.module-card:hover{border-color:var(--border-md);transform:translateY(-1px);box-shadow:0 4px 16px #00000014}.module-card .mc-icon{margin-bottom:12px;font-size:22px;line-height:1}.module-card .mc-name{letter-spacing:-.01em;margin-bottom:4px;font-size:14px;font-weight:600}.module-card .mc-desc{color:var(--text-2);font-size:12px;line-height:1.5}.order-card{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;padding:14px 16px;transition:border-color .12s}.order-card:active{border-color:var(--border-md)}.order-card-top{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.order-card-bottom{justify-content:space-between;align-items:center;display:flex}.order-supplier{color:var(--text);letter-spacing:-.01em;font-size:14px;font-weight:600}.order-num{color:var(--text-3);margin-top:2px;font-size:11px}.order-meta{color:var(--text-3);font-size:11px}.order-amount{font-family:var(--font-mono);color:var(--text);font-size:14px;font-weight:500}.ot-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;gap:8px;padding:14px 16px;transition:box-shadow .15s;display:flex}.ot-card:hover{box-shadow:0 2px 12px #00000014}.ot-card-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.ot-card-pills{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.ot-card-code{color:var(--text-3);font-size:11px;font-family:var(--font-mono);margin-bottom:2px}.ot-card-title{color:var(--text);font-size:15px;font-weight:600;line-height:1.3}.ot-card-meta{color:var(--text-2);font-size:12px}.ot-card-bottom{justify-content:space-between;align-items:center;display:flex}.ot-vencida-label{color:#b91c1c;font-size:12px;font-weight:500}.tag-pill{color:#374151;background:#f3f4f6;border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.tag-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.checklist-progress{align-items:center;gap:8px;display:flex}.progress-bar{background:var(--surface-3);border-radius:99px;flex:1;max-width:80px;height:4px;overflow:hidden}.progress-fill{background:#4ade80;border-radius:99px;height:100%;transition:width .3s}.progress-label{color:var(--text-3);font-size:11px;font-family:var(--font-mono);white-space:nowrap}.section-header{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:8px;padding:10px 0 6px;font-size:12px;font-weight:600;display:flex}.dash-metrics{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}@media (width>=768px){.dash-metrics{grid-template-columns:repeat(4,1fr)}}.dash-metric{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.dash-metric-val{font-size:28px;font-weight:600;font-family:var(--font-mono);color:var(--text);line-height:1}.dash-metric-lbl{color:var(--text-2);font-size:12px;font-weight:500}.dash-metric-sub{color:var(--text-3);margin-top:2px;font-size:11px}.dash-metric.alert .dash-metric-val{color:#b91c1c}.dash-metric.ok .dash-metric-val{color:#15803d}.dash-estados{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:20px;padding:14px 16px}.dash-estados-title{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:12px;font-weight:600}.dash-estado-row{border-bottom:1px solid var(--border);cursor:pointer;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.dash-estado-row:last-child{border-bottom:none}.dash-estado-row:hover{background:var(--surface-2);margin:0 -16px;padding:6px 16px}.dash-estado-lbl{color:var(--text);align-items:center;gap:8px;font-size:14px;display:flex}.dash-estado-num{font-size:14px;font-weight:600;font-family:var(--font-mono);color:var(--text)}.dash-reciente-title{color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:12px;font-weight:600}.dash-reciente-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:10px 0;display:flex}.dash-reciente-item:last-child{border-bottom:none}.dash-reciente-item:hover{background:var(--surface-2);margin:0 -16px;padding:10px 16px}.dash-reciente-info{flex:1;min-width:0}.dash-reciente-titulo{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.dash-reciente-meta{color:var(--text-3);font-size:12px}.metrics{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px;display:grid}@media (width<=767px){.metrics{grid-template-columns:repeat(2,1fr)}}.metric{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px}.metric-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px;font-size:10px}.metric-value{color:var(--text);font-size:20px;font-weight:600;line-height:1}.metric-value.mono{font-family:var(--font-mono);font-size:15px}.metric-sub{color:var(--text-3);margin-top:4px;font-size:10px}.table-wrap{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-md);overflow:hidden}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--text-3);background:var(--surface-2);border-bottom:.5px solid var(--border);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;padding:9px 14px;font-size:10px;font-weight:600}td{border-bottom:.5px solid var(--border);color:var(--text-2);vertical-align:middle;padding:11px 14px;font-size:13px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface-2);cursor:pointer}.td-primary{color:var(--text);font-size:13px;font-weight:600}.td-secondary{color:var(--text-3);margin-top:2px;font-size:11px}.td-amount{font-family:var(--font-mono);color:var(--text);font-weight:500}.filters-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.filters-scroll::-webkit-scrollbar{display:none}.filter-tab{border:1px solid var(--border-md);background:var(--surface);color:var(--text-2);cursor:pointer;white-space:nowrap;font-size:13px;font-weight:500;font-family:var(--font);border-radius:99px;flex-shrink:0;padding:6px 14px;transition:all .15s}.filter-tab.active{background:var(--text);color:#fff;border-color:var(--text)}.search-wrap{position:relative}.search-wrap input{border:1px solid var(--border-md);background:var(--surface);width:100%;font-family:var(--font);color:var(--text);box-sizing:border-box;border-radius:10px;padding:9px 12px 9px 36px;font-size:16px}.search-wrap input:focus{border-color:var(--text);outline:none}.search-icon{color:var(--text-3);pointer-events:none;font-size:15px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.etiqueta-filter-wrap{align-items:center;display:flex}.etiqueta-filter-wrap select{border:1px solid var(--border-md);background:var(--surface);font-family:var(--font);color:var(--text);border-radius:10px;flex:1;padding:9px 12px;font-size:16px}.etiqueta-filter-wrap select:focus{border-color:var(--text);outline:none}.search-input{border-radius:var(--radius-xl);border:.5px solid var(--border-md);background:var(--surface);color:var(--text);font-size:13px;font-family:var(--font);outline:none;padding:6px 14px;transition:border-color .12s}.search-input:focus{border-color:var(--text)}@media (width<=767px){.search-input{width:100%;margin-left:0}}.pill{white-space:nowrap;border-radius:20px;align-items:center;padding:3px 10px;font-size:11px;font-weight:500;display:inline-flex}.pill-presup{background:var(--s-presup-bg);color:var(--s-presup-c)}.pill-curso{background:var(--s-curso-bg);color:var(--s-curso-c)}.pill-pago{background:var(--s-pago-bg);color:var(--s-pago-c)}.pill-logistica{background:var(--s-logistica-bg);color:var(--s-logistica-c)}.pill-entregado{background:var(--s-entregado-bg);color:var(--s-entregado-c)}.pill-cancelado{background:var(--s-cancelado-bg);color:var(--s-cancelado-c)}.pill-pendiente{color:#475569;background:#f1f5f9}.pill-encurso{color:#1d4ed8;background:#dbeafe}.pill-revision{color:#7c3aed;background:#ede9fe}.pill-hecha{color:#15803d;background:#dcfce7}.pill-cancelada{color:#94a3b8;background:#f1f5f9}.pill-vencida,.pill-critica{color:#b91c1c;background:#fee2e2}.pill-alta{color:#c2410c;background:#ffedd5}.pill-media{color:#a16207;background:#fef9c3}.pill-baja{color:#15803d;background:#f0fdf4}.avatar{background:var(--surface-3);border:.5px solid var(--border-md);width:30px;height:30px;color:var(--text-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.modal-overlay{z-index:500;background:#0006;justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal{background:var(--surface);border-radius:var(--radius-lg);border:.5px solid var(--border);width:100%;max-width:520px;max-height:92dvh;padding:24px;overflow-y:auto;box-shadow:0 8px 40px #00000024}@media (width<=767px){.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%;max-height:92dvh;padding:20px 20px 32px}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h3{letter-spacing:-.01em;font-size:15px;font-weight:600}.modal-footer{border-top:.5px solid var(--border);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}@media (width<=767px){.modal-footer{flex-direction:column-reverse}.modal-footer .btn{justify-content:center;width:100%;height:48px}}.detail-overlay{z-index:199;background:#00000040;display:none;position:fixed;inset:0}@media (width<=767px){.detail-overlay.open{display:block}}@media (width>=768px){.main{transition:margin-right .3s cubic-bezier(.32,.72,0,1)}.main.detail-open{margin-right:400px}}.detail-sheet{background:var(--surface);border-left:.5px solid var(--border);z-index:200;flex-direction:column;width:400px;transition:transform .22s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #00000012}.detail-sheet.open{transform:translate(0)}@media (width<=767px){.detail-sheet{border-left:none;border-top:.5px solid var(--border);border-radius:16px 16px 0 0;width:100%;height:85dvh;transition:transform .25s cubic-bezier(.4,0,.2,1);top:auto;transform:translateY(100%)}.detail-sheet.open{transform:translateY(0)}}.detail-sheet-handle{background:var(--border);border-radius:2px;width:40px;height:4px;margin:10px auto 0;display:none}@media (width<=767px){.detail-sheet-handle{display:block}}.detail-sheet-header{border-bottom:.5px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:16px 20px 12px;display:flex}.detail-sheet-code{color:var(--text);font-size:13px;font-weight:600;font-family:var(--font-mono);margin-bottom:6px}.detail-close-btn{color:var(--text-3);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;margin-left:8px;padding:2px 6px;font-size:16px;line-height:1}.detail-close-btn:hover{color:var(--text);background:var(--surface-2)}.detail-body{flex:1;padding:16px 20px;overflow-y:auto}.detail-section{margin-bottom:18px}.detail-section-title{color:var(--text-3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:11px;font-weight:600}.detail-title{color:var(--text);margin-bottom:4px;font-size:16px;font-weight:600;line-height:1.35}.detail-descripcion{color:var(--text-2);margin-top:6px;font-size:13px;line-height:1.5}.detail-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.detail-field label{color:var(--text-3);margin-bottom:2px;font-size:11px;display:block}.detail-field span{color:var(--text);font-size:14px;font-weight:500}.estado-btns{flex-wrap:wrap;gap:8px;display:flex}.estado-btn{border:1px solid var(--border-md);background:var(--surface);min-width:80px;font-family:var(--font);color:var(--text-2);cursor:pointer;text-align:center;border-radius:10px;flex:1;padding:9px 4px;font-size:13px;font-weight:500;transition:all .15s}.estado-btn:hover{background:var(--surface-2)}.estado-btn.active{background:var(--text);color:#fff;border-color:var(--text)}.comment-input-wrap{align-items:flex-end;gap:8px;display:flex}.comment-input-wrap textarea{border:1px solid var(--border-md);font-family:var(--font);color:var(--text);resize:none;border-radius:10px;flex:1;min-height:40px;max-height:100px;padding:9px 12px;font-size:16px}.comment-input-wrap textarea:focus{border-color:var(--text);outline:none}.comment-send-btn{background:var(--text);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.checklist-item{color:var(--text);align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.checklist-item.done label{color:var(--text-3);text-decoration:line-through}.checklist-item input[type=checkbox]{accent-color:var(--accent);flex-shrink:0;width:15px;height:15px}.checklist-item label{cursor:pointer}.comment-item{border-bottom:.5px solid var(--border);padding:8px 0}.comment-item:last-child{border-bottom:none}.comment-meta{color:var(--text-3);margin-bottom:3px;font-size:11px}.comment-text{color:var(--text);font-size:13px;line-height:1.45}.detail-footer{border-top:.5px solid var(--border);padding:12px 20px;padding-bottom:calc(12px + env(safe-area-inset-bottom));flex-shrink:0}.toast{background:var(--text);color:var(--surface);border-radius:var(--radius-md);opacity:0;pointer-events:none;z-index:1000;white-space:nowrap;padding:10px 20px;font-size:13px;transition:all .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (width<=767px){.toast{bottom:calc(var(--bottomnav-h) + 14px)}}.btn-close{cursor:pointer;color:var(--text-2);border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:20px;line-height:1;transition:background .12s}.btn-close:hover{background:var(--surface-2)}.empty{text-align:center;color:var(--text-3);padding:48px 20px;font-size:13px;line-height:1.6}.timeline{flex-direction:column;gap:12px;display:flex}.tl-item{gap:10px;display:flex}.tl-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px}.tl-title{font-size:12px;font-weight:500}.tl-date{color:var(--text-3);font-size:11px}.mono{font-family:var(--font-mono)}.text-2{color:var(--text-2)}.text-3{color:var(--text-3)}.text-sm{font-size:12px}.text-xs{font-size:11px}.fw-500{font-weight:500}.fw-600{font-weight:600}.mt-auto{margin-top:auto}.gap-8{gap:8px}.gap-12{gap:12px}.flex{display:flex}.flex-col{flex-direction:column}.align-center{align-items:center}.justify-between{justify-content:space-between}
