*{box-sizing:border-box;margin:0;padding:0}:root,body[data-theme=white]{--primary:#1c6fb8;--accent:#e8772e;--bg-body:#eef1f5;--bg-card:#fff;--bg-hover:#e4e8ef;--text-primary:#16222e;--text-secondary:#64748b;--border:#dce3eb;--success:#2e9e6b;--error:#c62828;--radius:6px;--shadow:0 1px 2px #102a470f;--header-bg:#fff;--th-bg:#eef1f5;--tr-hover:#e4eaf2;--tab-active:#eaf3fb;--header-text:#16222e;--header-border:#dce3eb;--gantt-task:#2e7cc4;--gantt-task-track:color-mix(in srgb,#2e7cc4 28%,var(--bg-card));--gantt-critical:#c9403a;--gantt-critical-track:color-mix(in srgb,#c9403a 28%,var(--bg-card));--gantt-summary:#3e566e;--gantt-milestone:var(--text-primary);--gantt-weekend:var(--bg-body);--gantt-grid-minor:color-mix(in srgb,var(--border) 55%,var(--bg-card));--gantt-chrome-bg:color-mix(in srgb,var(--bg-body) 40%,var(--bg-card));--gantt-select-bg:color-mix(in srgb,var(--primary) 8%,var(--bg-card));--gantt-hover-tint:color-mix(in srgb,var(--primary) 4%,var(--bg-card));--gantt-chip-bg:color-mix(in srgb,var(--text-primary) 5%,var(--bg-card))}body[data-theme=cream]{--bg-body:#f5f0e8;--bg-hover:#f0ebe3;--text-primary:#2d2a26;--text-secondary:#6b6560;--border:#ddd5c9;--th-bg:#f5f0e8;--tr-hover:#faf6ef;--tab-active:#eef4fc}body[data-theme=dark]{--primary:#3a7bd5;--accent:#00d2ff;--bg-body:#0f1923;--bg-card:#1a2735;--bg-hover:#243447;--text-primary:#e8edf2;--text-secondary:#89a;--border:#2d3e50;--success:#00c853;--error:#f44;--shadow:0 1px 4px #0000004d;--header-bg:#1a2735;--th-bg:#243447;--tr-hover:#1e3040;--tab-active:#1e3040;--gantt-task:#4e97dc;--gantt-task-track:color-mix(in srgb,#4e97dc 32%,var(--bg-card));--gantt-critical:#e06058;--gantt-critical-track:color-mix(in srgb,#e06058 32%,var(--bg-card));--gantt-summary:#8598ac;--gantt-milestone:var(--text-primary);--gantt-weekend:var(--bg-body);--gantt-grid-minor:color-mix(in srgb,var(--border) 55%,var(--bg-card));--gantt-chrome-bg:color-mix(in srgb,var(--bg-body) 40%,var(--bg-card));--gantt-select-bg:color-mix(in srgb,var(--primary) 14%,var(--bg-card));--gantt-hover-tint:color-mix(in srgb,var(--primary) 8%,var(--bg-card));--gantt-chip-bg:color-mix(in srgb,var(--text-primary) 8%,var(--bg-card))}body{background:#eef1f5;background:var(--bg-body);color:#16222e;color:var(--text-primary);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;transition:background .3s,color .3s}.app-header{align-items:center;background:#fff;background:var(--header-bg);border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--header-border,var(--border));box-sizing:border-box;display:flex;height:52px;justify-content:space-between;padding:0 1.4rem;position:sticky;top:0;transition:box-shadow .15s;z-index:50}.app-header--scrolled{box-shadow:0 1px 3px #16222e0f,0 4px 12px #16222e0f}.header-left{align-items:center;display:flex;gap:.7rem;min-width:0}.header-crumb-sep{background:#dce3eb;background:var(--border);flex-shrink:0;height:20px;width:1px}.header-crumb{align-items:center;display:flex;font-size:.8rem;gap:.4rem;min-width:0;overflow:hidden}.header-crumb-parent{white-space:nowrap}.header-crumb-arrow,.header-crumb-parent{color:#64748b;color:var(--text-secondary)}.header-crumb-arrow{opacity:.6}.header-crumb-current{color:#16222e;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right{gap:.5rem}.header-right,.logo{align-items:center;display:flex}.logo{color:#e8772e;color:var(--accent);font-size:1.3rem;font-weight:800;gap:.3rem}.subtitle{color:#64748b;color:var(--text-secondary);font-size:.82rem}.theme-switcher{background:#e4e8ef;background:var(--bg-hover);border-radius:6px;display:flex;gap:1px;padding:2px}.theme-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#16222e;color:var(--text-primary);cursor:pointer;display:flex;height:28px;justify-content:center;opacity:.5;transition:all .15s;width:28px}.theme-btn:hover{opacity:.8}.theme-btn.active{background:#fff;background:var(--bg-card);box-shadow:0 1px 2px #16222e1f;opacity:1}.lang-btn{background:#e4e8ef;background:var(--bg-hover);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;color:#16222e;color:var(--text-primary);cursor:pointer;font-size:.8rem;padding:.35rem .7rem}.lang-switcher{position:relative}.lang-switcher .lang-btn{align-items:center;display:flex;gap:.35rem}.lang-btn-code{font-weight:600;letter-spacing:.02em}.lang-btn-caret{font-size:.65rem;margin-left:.1rem;opacity:.6}.lang-menu{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0e2a4729;list-style:none;margin:0;max-height:320px;min-width:170px;overflow-y:auto;padding:.35rem;position:absolute;right:0;top:calc(100% + 6px);z-index:40}.lang-menu-item{align-items:center;background:#0000;border:none;border-radius:6px;color:#16222e;color:var(--text-primary);cursor:pointer;display:flex;font-size:.85rem;gap:.55rem;padding:.5rem .6rem;text-align:left;width:100%}.lang-menu-item:hover{background:#e4e8ef;background:var(--bg-hover)}.lang-menu-item.active{background:#eaf3fb;background:var(--tab-active);color:#e8772e;color:var(--accent);font-weight:600}.lang-menu-native{flex:1 1}.lang-menu-check{color:#e8772e;color:var(--accent);font-size:.75rem}.app-loading-screen{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;flex-direction:column;font-size:1rem;gap:1.1rem;justify-content:center;min-height:60vh;text-align:center}.app-loading-spinner{animation:app-spin .8s linear infinite;border:3px solid #dce3eb;border-radius:50%;border-top-color:#1c6fb8;border:3px solid var(--border);border-top-color:var(--primary,var(--accent));height:40px;width:40px}@keyframes app-spin{to{transform:rotate(1turn)}}.main-content{margin:1.5rem auto;max-width:900px;padding:0 1.5rem}.status-indicator{font-size:.8rem}.status-dot.online{background:#2e9e6b;background:var(--success)}.status-dot.checking{animation:pulse 1.5s infinite;background:#ef6c00}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.dropzone{border-radius:6px;border-radius:var(--radius)}.dropzone.active,.dropzone:hover{background:#e4e8ef;background:var(--bg-hover)}.upload-icon{margin-bottom:1rem}.upload-hint,.upload-size{color:#64748b;color:var(--text-secondary);font-size:.83rem}.progress-bar{background:#dce3eb;background:var(--border);height:5px;margin:1rem auto 0;width:60%}.upload-error{background:#fdecea;border:1px solid #c62828;border:1px solid var(--error);border-radius:6px;margin-top:1rem;padding:.7rem}.pv{padding:.5rem;width:100%}.pv-top{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);display:flex;gap:1rem;margin-bottom:.5rem;padding:.7rem 1rem}.pv-title{color:#e8772e;color:var(--accent);font-size:1.15rem;margin-bottom:.2rem}.pv-meta{color:#64748b;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.78rem;gap:.7rem}.pv-info{flex:1 1}.pv-stats-row{display:flex;gap:.6rem}.pv-stat{background:#e4e8ef;background:var(--bg-hover);border-radius:6px;font-size:.78rem;padding:.3rem .7rem;white-space:nowrap}.pv-stat strong{color:#e8772e;color:var(--accent);margin-right:.2rem}.pv-winctl{border-left:1px solid #dce3eb;border-left:1px solid var(--border);display:flex;gap:6px;margin-left:.25rem;padding-left:.9rem}.pv-winbtn{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px #0e2a470f;color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;transition:background .15s,color .15s,border-color .15s,box-shadow .15s,transform .1s;width:36px}.pv-winbtn:hover{background:color-mix(in srgb,#1c6fb8 8%,#fff);background:color-mix(in srgb,var(--primary) 8%,var(--bg-card));border-color:color-mix(in srgb,#1c6fb8 45%,#fff);border-color:color-mix(in srgb,var(--primary) 45%,var(--bg-card));box-shadow:0 2px 8px #0e2a471f;color:#1c6fb8;color:var(--primary)}.pv-winbtn:active{transform:scale(.95)}.pv-winbtn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,#1c6fb8 30%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 30%,#0000);outline:none}.pv-winbtn.btn-close-project:hover{background:#c62828;background:var(--error);border-color:#c62828;border-color:var(--error);color:#fff}.tab-btn{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.82rem;padding:.4rem .8rem}.tab-btn.active{background:#eaf3fb;background:var(--tab-active);border-color:#e8772e;border-color:var(--accent);color:#e8772e;color:var(--accent);font-weight:600}.gantt-full{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);overflow:hidden}.gantt-top-bar{background:#fff;background:var(--bg-card);border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);box-sizing:border-box;height:44px;justify-content:space-between;padding:.45rem .8rem}.gantt-top-bar,.gantt-top-left{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem}.gantt-title{font-size:.85rem;font-weight:600;margin-right:.1rem}.gantt-task-count{background:color-mix(in srgb,#16222e 5%,#fff);background:var(--gantt-chip-bg);border-radius:999px;color:#64748b;color:var(--text-secondary);font-size:.68rem;font-weight:500;margin-right:.3rem;padding:.1rem .5rem}.gantt-toolbar-divider{background:#dce3eb;background:var(--border);height:16px;margin:0 .2rem;width:1px}.g-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:#64748b;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:500;gap:.3rem;padding:.3rem .55rem;transition:background .12s,color .12s}.g-btn:hover{background:color-mix(in srgb,#1c6fb8 4%,#fff);background:var(--gantt-hover-tint);border-color:#0000;color:#16222e;color:var(--text-primary)}.g-btn svg,.g-dot{flex-shrink:0}.g-dot{background:#64748b;background:var(--text-secondary);border-radius:50%;height:6px;width:6px}.col-menu-wrap{position:relative}.col-menu{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #16222e24;left:0;max-height:350px;overflow-y:auto;padding:.4rem;position:absolute;top:calc(100% + 6px);width:220px;z-index:99}.col-menu-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.76rem;gap:.5rem;padding:.4rem .5rem}.col-menu-item:hover{background:color-mix(in srgb,#1c6fb8 4%,#fff);background:var(--gantt-hover-tint)}.col-menu-item input{margin:0}.markup-toolbar{align-items:center;display:flex;gap:.3rem}.markup-swatch{border:2px solid #0000;border-radius:50%;cursor:pointer;height:16px;padding:0;width:16px}.markup-swatch.active{border-color:#16222e;border-color:var(--text-primary)}.gantt-zoom-btns{background:color-mix(in srgb,#16222e 5%,#fff);background:var(--gantt-chip-bg);border-radius:8px;display:flex;gap:1px;padding:2px}.gantt-zoom-btn{background:#0000;border:none;border-radius:6px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.73rem;font-weight:500;padding:.28rem .6rem;transition:background .12s,color .12s}.gantt-zoom-btn.active{background:#fff;background:var(--bg-card);box-shadow:0 1px 2px #16222e1f;color:#16222e;color:var(--text-primary);font-weight:600}.gantt-body{font-feature-settings:"tnum";align-items:flex-start;display:flex;flex:1 1;font-variant-numeric:tabular-nums;max-height:max(320px,calc(100vh - 235px));overflow:auto}.gantt-table{background:#fff;background:var(--bg-card);border-right:2px solid #dce3eb;border-right:2px solid var(--border);flex-shrink:0;left:0;position:sticky;z-index:7}.gantt-thead{background:color-mix(in srgb,#eef1f5 40%,#fff);background:var(--gantt-chrome-bg);border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);display:flex;position:sticky;top:0;z-index:2}.gantt-th{border-right:1px solid color-mix(in srgb,#dce3eb 55%,#fff);border-right:1px solid var(--gantt-grid-minor);color:#64748b;color:var(--text-secondary);font-size:.68rem;font-weight:600;padding:0 .4rem;white-space:nowrap}.gantt-tr{border-bottom:1px solid color-mix(in srgb,#dce3eb 55%,#fff);border-bottom:1px solid var(--gantt-grid-minor);display:flex;transition:background .12s}.gantt-tr:hover{background:color-mix(in srgb,#1c6fb8 4%,#fff);background:var(--gantt-hover-tint)}.gantt-tr.sum{background:#e4e8ef;background:var(--bg-hover);font-weight:600}.gantt-tr.ms .gantt-td{color:#16222e;color:var(--gantt-milestone)}.gantt-td{align-items:center;border-right:1px solid color-mix(in srgb,#dce3eb 55%,#fff);border-right:1px solid var(--gantt-grid-minor);display:flex;font-size:.75rem;padding:0 .4rem}.collapse-btn{color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.6rem;margin-right:.3rem;-webkit-user-select:none;user-select:none}.ms-icon{color:#16222e;color:var(--gantt-milestone);margin-right:.2rem}.task-name-text{overflow:hidden;text-overflow:ellipsis}.gantt-splitter{align-self:stretch;background:#dce3eb;background:var(--border);cursor:col-resize;flex-shrink:0;position:sticky;width:4px;z-index:7}.gantt-timeline{flex:1 0 auto}.gantt-timeline,.gantt-tl-inner{position:relative}.gantt-tl-month{align-items:center;border-right:1px solid color-mix(in srgb,#dce3eb 55%,#fff);border-right:1px solid var(--gantt-grid-minor);color:#64748b;color:var(--text-secondary);display:flex;font-size:.68rem;font-weight:600;height:100%;justify-content:center;position:absolute}.gantt-tl-row{border-bottom:1px solid color-mix(in srgb,#dce3eb 55%,#fff);border-bottom:1px solid var(--gantt-grid-minor);left:0;position:absolute;right:0}.gantt-tl-weekend{background:#eef1f5;background:var(--gantt-weekend);bottom:0;position:absolute;top:0}.gantt-tl-vline{background:color-mix(in srgb,#dce3eb 55%,#fff);background:var(--gantt-grid-minor);bottom:0;position:absolute;top:0;width:1px}.gantt-today{background:#e8772e;background:var(--accent);position:absolute;width:2px;z-index:3}.gantt-today-label{color:#e8772e;color:var(--accent);font-size:.6rem;font-weight:600;left:-11px;position:absolute;top:-16px;white-space:nowrap}.gantt-bar{align-items:center;background:color-mix(in srgb,#2e7cc4 28%,#fff);background:var(--gantt-task-track);border-radius:4px;cursor:grab;display:flex;min-width:4px;position:absolute;z-index:2}.gantt-bar:hover{box-shadow:0 1px 4px #16222e33}.gantt-bar.sum-bar{cursor:default}.gantt-bar.dragging{box-shadow:0 2px 8px #16222e47;cursor:grabbing;opacity:.85;z-index:4}.gantt-bar-handle{bottom:0;cursor:ew-resize;position:absolute;top:0;width:6px;z-index:1}.gantt-bar-handle-l{left:0}.gantt-bar-handle-r{right:0}.gantt-bar-draglbl{font-feature-settings:"tnum";background:#16222e;background:var(--text-primary);border-radius:5px;bottom:calc(100% + 4px);color:#fff;color:var(--bg-card);font-size:.68rem;font-variant-numeric:tabular-nums;font-weight:500;left:50%;padding:.2rem .5rem;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:5}.gantt-bar.critical-bar{background:color-mix(in srgb,#c9403a 28%,#fff);background:var(--gantt-critical-track)}.sum-bar{background:#3e566e!important;background:var(--gantt-summary)!important;border-radius:2px;height:8px!important;margin-top:5px}.gantt-bar-pct{background:#2e7cc4;background:var(--gantt-task);border-radius:4px;height:100%;left:0;position:absolute;top:0}.gantt-bar.critical-bar .gantt-bar-pct{background:#c9403a;background:var(--gantt-critical)}.gantt-bar-lbl{color:#64748b;color:var(--text-secondary);font-size:.7rem;font-weight:500;left:100%;margin-left:6px;position:absolute;white-space:nowrap}.gantt-ms{background:#16222e;background:var(--gantt-milestone);border-radius:2px;cursor:grab;height:12px;position:absolute;transform:rotate(45deg);width:12px;z-index:2}.gantt-ms.dragging{cursor:grabbing;z-index:5}.gantt-ms .gantt-bar-draglbl{transform:translateX(-50%) rotate(-45deg)}.gantt-ms.critical-ms{background:#c9403a;background:var(--gantt-critical)}.gantt-bar-note{align-items:center;background:#e8772e;background:var(--accent);border-radius:3px;box-shadow:0 1px 2px #16222e4d;color:#fff;cursor:pointer;display:flex;height:12px;justify-content:center;position:absolute;right:-4px;top:-7px;width:12px;z-index:3}.gantt-ms .gantt-bar-note{right:-8px;top:-9px;transform:rotate(-45deg)}.gantt-empty{color:#64748b;color:var(--text-secondary);padding:2rem;text-align:center}.task-table-wrapper{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);overflow-x:auto}.task-table{border-collapse:collapse;font-size:.8rem;width:100%}.task-table th{background:#eef1f5;background:var(--th-bg);border-bottom:2px solid #dce3eb;border-bottom:2px solid var(--border);color:#64748b;color:var(--text-secondary);font-weight:600;padding:.55rem .6rem;text-align:left;white-space:nowrap}.task-table td{border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);padding:.45rem .6rem}.task-table tr:hover td{background:#e4eaf2;background:var(--tr-hover)}.summary-row td{background:#e4e8ef;background:var(--bg-hover);font-weight:600}.milestone-row td{color:#bf360c}.cell-date,.cell-wbs{color:#64748b;color:var(--text-secondary);font-size:.74rem}.cell-date{white-space:nowrap}.cell-resources{color:#64748b;color:var(--text-secondary);font-size:.74rem;max-width:120px;overflow:hidden;text-overflow:ellipsis}.cell-progress{align-items:center;display:flex;gap:.4rem}.progress-bar-mini{background:#dce3eb;background:var(--border);border-radius:3px;height:4px;overflow:hidden;width:45px}.progress-fill-mini{border-radius:3px;height:100%}.progress-text{color:#64748b;color:var(--text-secondary);font-size:.7rem}@media(max-width:768px){.pv-top{flex-direction:column}.pv-stats-row{flex-wrap:wrap}.gantt-body{height:calc(100vh - 280px)}.gantt-splitter,.gantt-table{position:static}}.gantt-tl-head{font-feature-settings:"tnum";background:color-mix(in srgb,#eef1f5 40%,#fff);background:var(--gantt-chrome-bg);border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;position:sticky;top:0;z-index:6}.gantt-tl-top{border-bottom:1px solid color-mix(in srgb,#dce3eb 55%,#fff);border-bottom:1px solid var(--gantt-grid-minor);border-right:1px solid #dce3eb;border-right:1px solid var(--border);font-size:.68rem;font-weight:600;top:0}.gantt-tl-bot,.gantt-tl-top{align-items:center;box-sizing:border-box;color:#64748b;color:var(--text-secondary);display:flex;height:50%;justify-content:flex-start;padding-left:8px;position:absolute}.gantt-tl-bot{border-right:1px solid color-mix(in srgb,#dce3eb 55%,#fff);border-right:1px solid var(--gantt-grid-minor);font-size:.65rem;font-weight:500;top:50%}.modal-overlay{align-items:center;background:#0006;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}.modal-box{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 30px #0003;max-height:90vh;max-width:95vw;overflow-y:auto;width:520px}.modal-header{align-items:center;border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:.8rem 1rem}.modal-header h3{color:#e8772e;color:var(--accent);font-size:1rem}.modal-close{background:none;border:none;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:1.1rem}.modal-body{padding:1rem}.form-row{margin-bottom:.7rem}.form-row label{color:#64748b;color:var(--text-secondary);display:block;font-size:.78rem;font-weight:600;margin-bottom:.2rem}.form-row input[type=date],.form-row input[type=number],.form-row input[type=text],.form-row textarea{background:#eef1f5;background:var(--bg-body);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;color:#16222e;color:var(--text-primary);font-size:.83rem;outline:none;padding:.45rem .6rem;width:100%}.form-row input:focus,.form-row textarea:focus{border-color:#e8772e;border-color:var(--accent)}.form-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:.83rem;gap:.4rem}.checkbox-label input{margin:0}.modal-footer{align-items:center;border-top:1px solid #dce3eb;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:.7rem 1rem}.modal-footer-right{display:flex;gap:.4rem}.btn-save{background:#e8772e;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.83rem;padding:.4rem 1rem}.btn-save:hover{opacity:.9}.btn-cancel{background:#e4e8ef;background:var(--bg-hover);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;color:#16222e;color:var(--text-primary)}.btn-cancel,.btn-delete{cursor:pointer;font-size:.83rem;padding:.4rem .8rem}.btn-delete{background:#fdecea;border:1px solid #c62828;border:1px solid var(--error);border-radius:6px;color:#c62828;color:var(--error)}.btn-delete:hover{background:#f9d6d2}.btn-add-task{background:#e8772e;background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.82rem;margin-left:auto;padding:.4rem .8rem}.btn-add-task:hover{opacity:.9}.btn-save-project{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.82rem;margin-left:.3rem;padding:.4rem .8rem}.btn-save-project:hover{background:#1b5e20}.context-menu{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:180px;padding:4px 0;position:fixed;z-index:200}.context-menu button{background:none;border:none;color:#16222e;color:var(--text-primary);cursor:pointer;display:block;font-size:.8rem;padding:6px 14px;text-align:left;transition:background .15s;width:100%}.context-menu button:hover{background:#e4e8ef;background:var(--bg-hover)}.context-menu hr{border:none;border-top:1px solid #dce3eb;border-top:1px solid var(--border);margin:3px 0}.context-menu .ctx-delete{color:#c62828;color:var(--error)}.context-menu .ctx-delete:hover{background:#fdecea}.gantt-tr.selected .gantt-td,.selected-row td{background:color-mix(in srgb,#1c6fb8 8%,#fff)!important;background:var(--gantt-select-bg)!important}.gantt-tr.selected .gantt-td:first-child{box-shadow:inset 2px 0 0 #1c6fb8;box-shadow:inset 2px 0 0 var(--primary)}.pv-tabs{align-items:center;display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}.pv-tabs-right{display:flex;gap:.3rem;margin-left:auto}.view-row{border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);display:flex;padding:.4rem 0}.view-label{color:#64748b;color:var(--text-secondary);flex-shrink:0;font-size:.78rem;font-weight:600;width:140px}.form-row select,.view-value{color:#16222e;color:var(--text-primary);font-size:.83rem}.form-row select{background:#eef1f5;background:var(--bg-body);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;outline:none;padding:.45rem .6rem;width:100%}.form-row select:focus{border-color:#e8772e;border-color:var(--accent)}.inline-input{background:#eef1f5;background:var(--bg-body);border:1px solid #e8772e;border:1px solid var(--accent);border-radius:4px;color:#16222e;color:var(--text-primary);font-size:.8rem;outline:none;padding:.25rem .4rem;width:100%}.resource-checkboxes{display:flex;flex-wrap:wrap;gap:.5rem;padding:.3rem 0}.resource-checkboxes .checkbox-label{font-size:.8rem}.modal-wide{width:600px}.assignment-section{border-top:1px solid #dce3eb;border-top:1px solid var(--border);margin:.7rem 0;padding:.5rem 0}.assignment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.4rem}.assignment-header label{color:#64748b;color:var(--text-secondary);font-size:.82rem;font-weight:600}.btn-assign{background:#e8772e;background:var(--accent);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.75rem;padding:.25rem .6rem}.btn-assign:hover{opacity:.9}.assignment-table{border-collapse:collapse;font-size:.8rem;margin-top:.3rem;width:100%}.assignment-table th{color:#64748b;color:var(--text-secondary);font-size:.72rem;text-align:left}.assignment-table td,.assignment-table th{border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);padding:.3rem .4rem}.units-input{background:#eef1f5;background:var(--bg-body);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:4px;color:#16222e;color:var(--text-primary);font-size:.8rem;padding:.2rem .3rem;text-align:center;width:60px}.units-label{color:#64748b;color:var(--text-secondary);font-size:.75rem}.btn-remove-res{background:none;border:none;color:#c62828;color:var(--error);cursor:pointer;font-size:.85rem}.btn-remove-res:hover{opacity:.7}.res-type-badge{border-radius:3px;font-size:.7rem;font-weight:600;padding:.1rem .4rem}.res-type-badge.work{background:#e3f2fd;color:#1565c0}.res-type-badge.material{background:#fff3e0;color:#e65100}.res-type-badge.cost{background:#e8f5e9;color:#2e7d32}.no-assignments{color:#64748b;color:var(--text-secondary);font-size:.78rem;font-style:italic;padding:.4rem 0}.add-resource-row{align-items:center;background:#e4e8ef;background:var(--bg-hover);border-radius:6px;display:flex;gap:.4rem;margin-top:.4rem;padding:.4rem}.res-select{background:#eef1f5;background:var(--bg-body);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:4px;color:#16222e;color:var(--text-primary);flex:1 1;font-size:.8rem;padding:.3rem .4rem}.btn-confirm-assign{background:#2e9e6b;background:var(--success);color:#fff}.btn-cancel-assign,.btn-confirm-assign{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;height:28px;width:28px}.btn-cancel-assign{background:#dce3eb;background:var(--border);color:#16222e;color:var(--text-primary)}.export-dropdown{display:inline-block;position:relative}.export-dropdown .btn-save-project{cursor:pointer}.export-menu{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #00000026;display:none;min-width:180px;padding:4px 0;position:absolute;right:0;top:100%;z-index:50}.export-dropdown:hover .export-menu{display:block}.export-menu button{background:none;border:none;color:#16222e;color:var(--text-primary);cursor:pointer;display:block;font-size:.82rem;padding:8px 14px;text-align:left;width:100%}.export-menu button:hover{background:#e4e8ef;background:var(--bg-hover)}.evm-dashboard{margin:0 auto;max-width:900px}.evm-status{align-items:center;border:2px solid;border-radius:6px;border-radius:var(--radius);display:flex;gap:.6rem;margin-bottom:.8rem;padding:.7rem 1rem}.evm-status-dot{border-radius:50%;height:10px;width:10px}.evm-status-text{font-size:.95rem;font-weight:700}.evm-status-detail{font-size:.82rem;font-weight:600;margin-left:auto}.evm-progress-section{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);margin-bottom:.8rem;padding:1rem}.evm-progress-row{align-items:center;display:flex;gap:.6rem;margin-bottom:.5rem}.evm-progress-row:last-child{margin-bottom:0}.evm-progress-label{color:#64748b;color:var(--text-secondary);font-size:.8rem;font-weight:600;width:130px}.evm-progress-bar{background:#dce3eb;background:var(--border);border-radius:5px;flex:1 1;height:10px;overflow:hidden}.evm-progress-fill{border-radius:5px;height:100%;transition:width .3s}.evm-progress-value{color:#16222e;color:var(--text-primary);font-size:.8rem;font-weight:600;text-align:right;width:40px}.evm-cards{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(4,1fr);margin-bottom:.8rem}.evm-card{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);padding:.8rem;text-align:center}.evm-card-title{color:#e8772e;color:var(--accent);font-size:1.1rem;font-weight:700}.evm-card-subtitle{color:#64748b;color:var(--text-secondary);font-size:.68rem;margin:.2rem 0}.evm-card-value{color:#16222e;color:var(--text-primary);font-size:1rem;font-weight:600}.evm-table-wrapper{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);overflow:hidden}.evm-table{border-collapse:collapse;font-size:.82rem;width:100%}.evm-table th{background:#eef1f5;background:var(--th-bg);border-bottom:2px solid #dce3eb;border-bottom:2px solid var(--border);color:#64748b;color:var(--text-secondary);font-weight:600;padding:.55rem .7rem;text-align:left}.evm-table td{border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);padding:.5rem .7rem}.evm-table tr:hover td{background:#e4eaf2;background:var(--tr-hover)}.evm-badge{border-radius:3px;color:#fff;display:inline-block;font-size:.7rem;font-weight:600;padding:.15rem .5rem}.lang-btn{align-items:center;display:flex;gap:.3rem}@media(max-width:768px){.evm-cards{grid-template-columns:repeat(2,1fr)}}.evm-subtabs{background:#e4e8ef;background:var(--bg-hover);border-radius:8px;display:flex;gap:3px;margin-bottom:.8rem;padding:3px}.evm-subtab{background:#0000;border:none;border-radius:6px;color:#64748b;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.78rem;padding:.45rem .6rem;transition:all .2s;white-space:nowrap}.evm-subtab.active{background:#fff;background:var(--bg-card);box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);font-weight:600}.evm-subtab.active,.evm-subtab:hover{color:#e8772e;color:var(--accent)}.evm-chart-section{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius);box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);padding:1rem}.evm-section-title{color:#16222e;color:var(--text-primary);font-size:.9rem;font-weight:600;margin-bottom:.8rem}.evm-empty{color:#64748b;color:var(--text-secondary);font-size:.85rem;padding:2rem;text-align:center}.header-logo-img{height:38px;width:auto}.landing-logo-img{height:80px;width:auto}.pv-title-clickable{cursor:pointer;transition:color .2s}.pv-title-clickable:hover{color:#e8772e;color:var(--accent)}.pv-info-hint{font-size:.7rem;margin-left:.3rem;opacity:.4}.pi-section{border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);margin-bottom:.8rem;padding-bottom:.5rem}.pi-section:last-child{border-bottom:none}.pi-section-title{color:#e8772e;color:var(--accent);font-size:.82rem;font-weight:700;margin-bottom:.4rem}.pi-notes{color:#16222e;color:var(--text-primary);font-size:.83rem;line-height:1.5;white-space:pre-wrap}.upload-tabs{background:#e4e8ef;background:var(--bg-hover);border-radius:8px;gap:3px;margin-bottom:.8rem;padding:3px}.upload-tab{border-radius:6px;font-size:.85rem;padding:.5rem .8rem;transition:all .2s}.upload-tab.active{background:#fff;background:var(--bg-card);box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);color:#e8772e;color:var(--accent)}.create-project-form{border-radius:6px;border-radius:var(--radius);padding:1.5rem}.create-project-form h3{font-size:1.05rem;margin-bottom:1rem}.create-fields{max-width:500px}.create-btn{border-radius:8px;font-weight:600;margin-top:.6rem;padding:.7rem;transition:all .2s}.create-btn:hover{opacity:.9;transform:translateY(-1px)}.create-btn:disabled{opacity:.5}.header-logo-link{align-items:center;display:flex;text-decoration:none}.header-logo-link:hover{opacity:.85}.logo-upload-area{align-items:center;display:flex;gap:.5rem}.logo-preview{display:inline-block;position:relative}.logo-preview img{border:1px solid #dce3eb;border:1px solid var(--border);border-radius:4px;height:50px;padding:4px;width:auto}.btn-remove-logo{align-items:center;background:#c62828;background:var(--error);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.7rem;height:18px;justify-content:center;position:absolute;right:-6px;top:-6px;width:18px}.btn-upload-logo{background:#e4e8ef;background:var(--bg-hover);border:1px dashed #dce3eb;border:1px dashed var(--border);border-radius:6px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.82rem;padding:.5rem 1rem}.btn-upload-logo:hover{border-color:#e8772e;border-color:var(--accent);color:#e8772e;color:var(--accent)}.pdf-preview{display:flex;justify-content:center;margin-top:.8rem}.pdf-preview-page{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;height:180px;padding:12px;position:relative;width:280px}.pdf-preview-header{align-items:center;border-bottom:2px solid #e8772e;border-bottom:2px solid var(--accent);display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:6px}.pdf-preview-logo{height:16px;width:auto}.pdf-preview-title{color:#e8772e;color:var(--accent);font-size:.55rem;font-weight:700}.pdf-preview-right{color:#999;font-size:.45rem}.pdf-preview-body{flex:1 1}.pdf-preview-line{background:#e8e8e8;border-radius:2px;height:4px;margin-bottom:5px}.pdf-preview-line.w80{width:80%}.pdf-preview-line.w60{width:60%}.pdf-preview-line.w90{width:90%}.pdf-preview-line.w70{width:70%}.pdf-preview-footer{border-top:1px solid #e0e0e0;color:#aaa;display:flex;font-size:.4rem;justify-content:space-between;padding-top:4px}.btn-indent{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:5px;color:#16222e;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9rem;font-weight:700;height:28px;justify-content:center;transition:all .2s;width:28px}.btn-indent:hover:not(:disabled){border-color:#e8772e;border-color:var(--accent);color:#e8772e;color:var(--accent)}.btn-indent:disabled{cursor:not-allowed;opacity:.3}.gantt-tr.dragging .gantt-td{background:#e4e8ef!important;background:var(--bg-hover)!important;opacity:.4}.gantt-tr.drop-target .gantt-td{border-top:2px solid #1c6fb8!important;border-top:2px solid var(--primary)!important}.gantt-tr{cursor:grab}.gantt-tr:active{cursor:grabbing}.blog-page{margin:0 auto;max-width:960px;padding:1.5rem}.blog-header{padding:1.5rem 0;text-align:center}.blog-back{background:none;border:none;color:#e8772e;color:var(--accent);cursor:pointer;display:inline-block;font-size:.88rem;font-weight:600;margin-bottom:1rem}.blog-back:hover{text-decoration:underline}.blog-title{color:#16222e;color:var(--text-primary);font-size:1.8rem;font-weight:800;margin-bottom:.3rem}.blog-subtitle{color:#64748b;color:var(--text-secondary);font-size:.95rem}.blog-grid{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:repeat(2,1fr);margin-top:1.5rem}.blog-card{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:12px;cursor:pointer;padding:1.5rem;transition:all .25s}.blog-card:hover{border-color:#e8772e;border-color:var(--accent);box-shadow:0 6px 16px #00000014;transform:translateY(-3px)}.blog-card-icon{font-size:2rem;margin-bottom:.5rem}.blog-card-cat{color:#e8772e;color:var(--accent);font-size:.7rem;font-weight:600;margin-bottom:.3rem;text-transform:uppercase}.blog-card-title{color:#16222e;color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1.3;margin-bottom:.5rem}.blog-card-summary{font-size:.82rem;line-height:1.5;margin-bottom:.7rem}.blog-card-meta,.blog-card-summary{color:#64748b;color:var(--text-secondary)}.blog-card-meta{display:flex;font-size:.72rem;justify-content:space-between}.article-page{margin:0 auto;max-width:760px;padding:1.5rem}.article-content{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);margin-top:1rem;padding:2rem}.article-meta-top{color:#64748b;color:var(--text-secondary);display:flex;font-size:.78rem;gap:1rem;margin-bottom:1.5rem}.article-cat{background:#e8772e;background:var(--accent);border-radius:4px;color:#fff;font-size:.7rem;font-weight:600;padding:.15rem .5rem}.article-body h1{color:#16222e;color:var(--text-primary);font-size:1.6rem;font-weight:800;line-height:1.3;margin:1.5rem 0 .8rem}.article-body h2{border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);color:#e8772e;color:var(--accent);font-size:1.2rem;font-weight:700;margin:1.3rem 0 .6rem;padding-bottom:.3rem}.article-body h3{font-size:1rem;font-weight:600;margin:1rem 0 .4rem}.article-body h3,.article-body p{color:#16222e;color:var(--text-primary)}.article-body p{font-size:.9rem;line-height:1.7;margin-bottom:.8rem}.article-cta{background:#e4e8ef;background:var(--bg-hover);border-radius:10px;margin-top:2rem;padding:1.5rem;text-align:center}.article-cta h3{color:#16222e;color:var(--text-primary);font-size:1.1rem;font-weight:700;margin-bottom:.3rem}.article-cta p{color:#64748b;color:var(--text-secondary);font-size:.85rem;margin-bottom:.8rem}.article-cta-btn{background:#e8772e;background:var(--accent);border-radius:8px;color:#fff;display:inline-block;font-size:.9rem;font-weight:600;padding:.6rem 1.5rem;text-decoration:none}@media(max-width:768px){.blog-grid,.blog-preview-grid{grid-template-columns:1fr}.article-content{padding:1rem}}.lp{margin:0 auto;max-width:1160px;overflow-x:hidden;padding:0 1.5rem}.lp-section,.lp-showcase,.lp-stats-bar{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.lp-visible{opacity:1!important;transform:translateY(0)!important}.lp-hero{overflow:hidden;padding:2.5rem 0 3rem;position:relative}.lp-hero-bg{background:linear-gradient(135deg,#f0faf8,#e6f9f5 40%,#fff);border-radius:0 0 60px 60px;inset:0;position:absolute;z-index:0}.lp-hero-inner{align-items:center;display:flex;flex-direction:row-reverse;gap:3rem;position:relative;z-index:1}.lp-hero-content{flex:0.8 1}.lp-hero-media{flex:1.4 1}.lp-hero-img{border-radius:6px;filter:drop-shadow(0 20px 40px rgba(0,0,0,.1));height:auto;width:100%}.lp-pill{background:#26b5a01f;border:1px solid #26b5a02e;border-radius:20px;color:#1a8a78;display:inline-block;font-size:.78rem;font-weight:600;margin-bottom:1.2rem;padding:.35rem 1rem}.lp-hero-h1{color:#16222e;color:var(--text-primary);font-size:2.4rem;font-weight:900;letter-spacing:-1.5px;line-height:1.1;margin-bottom:1rem}.lp-hero-h1 span{color:#e8772e;color:var(--accent)}.lp-hero-p{color:#64748b;color:var(--text-secondary);font-size:1.05rem;line-height:1.65;margin-bottom:1.6rem;max-width:460px}.lp-hero-btns{display:flex;flex-wrap:wrap;gap:.7rem}.lp-btn-primary{background:#e8772e;background:var(--accent);border:none;border-radius:10px;box-shadow:0 4px 16px #26b5a04d;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:.75rem 2rem;transition:all .25s}.lp-btn-primary:hover{box-shadow:0 8px 24px #26b5a066;transform:translateY(-2px)}.lp-btn-outline{background:#0000;border:1.5px solid #e8772e;border:1.5px solid var(--accent);border-radius:10px;color:#e8772e;color:var(--accent);cursor:pointer;font-size:.92rem;font-weight:600;padding:.7rem 1.6rem;transition:all .25s}.lp-btn-outline:hover{background:#e8772e;background:var(--accent);color:#fff}.lp-trust-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem}.lp-trust-badge{border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;color:#64748b;color:var(--text-secondary);font-size:.72rem;font-weight:500;padding:.3rem .7rem}.lp-stats-bar,.lp-trust-badge{background:#fff;background:var(--bg-card)}.lp-stats-bar{border:1px solid #dce3eb;border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);display:flex;gap:2rem;justify-content:center;margin:1rem 0 .5rem;padding:1.8rem 0}.lp-stat-box{text-align:center}.lp-stat-box strong{color:#e8772e;color:var(--accent);display:block;font-size:1.5rem;font-weight:800}.lp-stat-box span{color:#64748b;color:var(--text-secondary);font-size:.73rem}.lp-section{padding:3rem 0}.lp-sec-title{color:#16222e;color:var(--text-primary);font-size:1.8rem;font-weight:800;letter-spacing:-.5px;margin-bottom:.4rem;text-align:center}.lp-sec-sub{color:#64748b;color:var(--text-secondary);font-size:.92rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:520px;text-align:center}.lp-feat-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.lp-feat-card{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:14px;padding:1.4rem;transition:all .3s}.lp-feat-card:hover{border-color:#e8772e;border-color:var(--accent);box-shadow:0 10px 28px #0000000f;transform:translateY(-5px)}.lp-feat-icon{align-items:center;background:#26b5a014;border-radius:12px;display:flex;font-size:1.8rem;height:48px;justify-content:center;margin-bottom:.6rem;width:48px}.lp-feat-card h3{color:#16222e;color:var(--text-primary);font-size:.92rem;font-weight:700;margin-bottom:.35rem}.lp-feat-card p{color:#64748b;color:var(--text-secondary);font-size:.8rem;line-height:1.5}.lp-showcase{align-items:center;display:flex;gap:3.5rem;padding:3.5rem 0}.lp-showcase-rev{flex-direction:row-reverse}.lp-showcase-copy{flex:1 1}.lp-showcase-media{flex:1.1 1}.lp-showcase-media img{border-radius:12px;box-shadow:0 16px 48px #00000014;height:auto;transition:transform .4s;width:100%}.lp-showcase-media img:hover{transform:scale(1.015) translateY(-4px)}.lp-tag{background:#26b5a012;border-radius:4px;color:#e8772e;color:var(--accent);display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:1.5px;margin-bottom:.5rem;padding:.25rem .7rem;text-transform:uppercase}.lp-showcase-copy h2{color:#16222e;color:var(--text-primary);font-size:1.5rem;font-weight:800;line-height:1.25;margin-bottom:.6rem}.lp-showcase-copy p{color:#64748b;color:var(--text-secondary);font-size:.88rem;line-height:1.6;margin-bottom:.8rem}.lp-check-list{list-style:none;margin:0;padding:0}.lp-check-list li{color:#64748b;color:var(--text-secondary);font-size:.84rem;line-height:1.9;padding-left:1.3rem;position:relative}.lp-check-list li:before{color:#e8772e;color:var(--accent);content:"✓";font-weight:800;left:0;position:absolute}.lp-how-section{background:linear-gradient(180deg,#f8fffe,#eef1f5);background:linear-gradient(180deg,#f8fffe 0,var(--bg-body) 100%);border-radius:20px;padding:2.5rem 1.5rem}.lp-steps{align-items:flex-start;display:flex;gap:1rem;justify-content:center}.lp-step-card{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:14px;box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);flex:1 1;max-width:240px;padding:1.5rem 1rem;position:relative;text-align:center}.lp-step-num{align-items:center;background:#e8772e;background:var(--accent);border-radius:50%;color:#fff;display:flex;font-size:.72rem;font-weight:800;height:26px;justify-content:center;position:absolute;right:-8px;top:-10px;width:26px}.lp-step-icon{font-size:1.8rem;margin-bottom:.5rem}.lp-step-card h4{color:#16222e;color:var(--text-primary);font-size:.88rem;font-weight:700;margin-bottom:.25rem}.lp-step-card p{color:#64748b;color:var(--text-secondary);font-size:.78rem;line-height:1.45}.lp-step-arrow{color:#e8772e;color:var(--accent);font-size:1.6rem;font-weight:800;margin-top:3rem}.lp-blog-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.lp-blog-card{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;padding:1.4rem;transition:all .3s}.lp-blog-card:hover{border-color:#e8772e;border-color:var(--accent);box-shadow:0 8px 20px #0000000f;transform:translateY(-4px)}.lp-blog-cat{color:#e8772e;color:var(--accent);font-size:.65rem;letter-spacing:.5px;text-transform:uppercase}.lp-blog-card h3,.lp-blog-cat{font-weight:700;margin-bottom:.4rem}.lp-blog-card h3{color:#16222e;color:var(--text-primary);font-size:.88rem;line-height:1.3}.lp-blog-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:#64748b;color:var(--text-secondary);display:-webkit-box;flex:1 1;font-size:.78rem;line-height:1.45;overflow:hidden}.lp-blog-foot{color:#4b5563;font-size:.68rem;margin-top:.6rem}.lp-cta-section{background:linear-gradient(135deg,#26b5a00d,#26b5a01f);border:1px solid #26b5a01f;border-radius:18px;margin:2rem 0;padding:3rem 2rem;text-align:center}.lp-cta-section h2{color:#16222e;color:var(--text-primary);font-size:1.6rem;font-weight:800;margin-bottom:.4rem}.lp-cta-section p{color:#64748b;color:var(--text-secondary);font-size:.92rem;margin-bottom:1.5rem}.lp-footer{border-top:1px solid #dce3eb;border-top:1px solid var(--border);margin-top:2rem;padding:2.5rem 0 1rem}.lp-footer-cols{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:2.5fr 1fr 1fr 1fr;margin-bottom:1.8rem}.lp-footer-brand img{height:36px;margin-bottom:.6rem;width:auto}.lp-footer-brand p{color:#64748b;color:var(--text-secondary);font-size:.78rem;line-height:1.5;max-width:260px}.lp-footer-col h4{color:#16222e;color:var(--text-primary);font-size:.82rem;font-weight:700;margin-bottom:.7rem}.lp-footer-col a{color:#64748b;color:var(--text-secondary);display:block;font-size:.78rem;margin-bottom:.45rem;text-decoration:none;transition:color .2s}.lp-footer-col a:hover{color:#e8772e;color:var(--accent)}.lp-footer-bar{border-top:1px solid #dce3eb;border-top:1px solid var(--border);color:#64748b;color:var(--text-secondary);font-size:.72rem;padding-top:1rem;text-align:center}@media(max-width:900px){.lp-feat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.lp-hero-inner{flex-direction:column-reverse;text-align:center}.lp-hero-h1{font-size:2rem}.lp-hero-p{max-width:100%}.lp-hero-btns,.lp-trust-row{justify-content:center}.lp-stats-bar{flex-wrap:wrap;gap:1rem;padding:1.2rem}.lp-feat-grid{grid-template-columns:1fr}.lp-showcase,.lp-showcase-rev{flex-direction:column;gap:1.5rem;padding:2rem 0}.lp-steps{align-items:center;flex-direction:column}.lp-step-arrow{margin:.2rem 0;transform:rotate(90deg)}.lp-blog-row{grid-template-columns:1fr}.lp-footer-cols{gap:1.5rem;grid-template-columns:1fr 1fr}}.upload-container{margin:2rem auto;max-width:680px;padding:0 1rem}.upload-tabs{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);display:flex;gap:0;margin-bottom:1.2rem;padding:4px}.upload-tab{background:#0000;border:none;border-radius:9px;color:#64748b;color:var(--text-secondary);cursor:pointer;flex:1 1;font-size:.88rem;font-weight:500;padding:.65rem 1rem;transition:all .25s}.upload-tab.active{background:#e8772e;background:var(--accent);box-shadow:0 2px 8px #26b5a040;color:#fff;font-weight:600}.dropzone{align-items:center;background:#fff;background:var(--bg-card);border:2px dashed #dce3eb;border:2px dashed var(--border);border-radius:16px;box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:220px;padding:3rem 2rem;text-align:center;transition:all .3s}.dropzone.active,.dropzone:hover{background:#26b5a008;border-color:#e8772e;border-color:var(--accent);box-shadow:0 8px 24px #26b5a01a;transform:translateY(-2px)}.dropzone.uploading{opacity:.7;pointer-events:none}.upload-icon{filter:grayscale(.3);font-size:3rem;margin-bottom:.8rem}.upload-text{color:#16222e;color:var(--text-primary);font-size:1rem;font-weight:600;margin-bottom:.4rem}.upload-hint{font-size:.82rem;margin-bottom:.2rem}.upload-hint,.upload-size{color:#64748b;color:var(--text-secondary)}.upload-size{font-size:.75rem;opacity:.7}.upload-error{background:#ef444414;border:1px solid #ef444433;border-radius:8px;color:#c62828;color:var(--error);font-size:.84rem;margin-top:.8rem;padding:.6rem 1rem;text-align:center}.progress-bar{background:#e4e8ef;background:var(--bg-hover);border-radius:3px;height:6px;margin-top:1rem;overflow:hidden;width:80%}.progress-fill{background:#e8772e;background:var(--accent);border-radius:3px;height:100%;transition:width .3s}.create-project-form{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);padding:2rem}.create-project-form h3{color:#16222e;color:var(--text-primary);font-size:1.1rem;font-weight:700;margin-bottom:1.2rem;text-align:center}.create-fields{margin:0 auto;max-width:480px}.create-btn{background:#e8772e;background:var(--accent);border:none;border-radius:10px;box-shadow:0 4px 12px #26b5a040;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;margin-top:1rem;padding:.75rem;transition:all .25s;width:100%}.create-btn:hover{box-shadow:0 6px 18px #26b5a059;transform:translateY(-2px)}.create-btn:disabled{box-shadow:none;cursor:not-allowed;opacity:.4;transform:none}.main-content{margin:0 auto;max-width:720px;padding:1.5rem}.status-indicator{align-items:center;color:#64748b;color:var(--text-secondary);display:flex;font-size:.78rem;gap:.4rem;justify-content:center;margin-bottom:1rem}.status-dot{border-radius:50%;height:8px;width:8px}.status-dot.online{background:#22c55e;box-shadow:0 0 6px #22c55e66}.status-dot.offline{background:#c62828;background:var(--error)}.status-dot.checking{background:#f59e0b}.article-hero-img{border-radius:12px 12px 0 0;margin:-1rem -2rem 1.5rem;overflow:hidden}.article-hero-img img{display:block;height:auto;width:100%}@media(max-width:768px){.article-hero-img{margin:-1rem -1rem 1rem}}.upload-wrapper{margin:0 auto;max-width:800px;padding:1.5rem}.upload-hero{margin-bottom:1.5rem;text-align:center}.upload-logo{height:72px;margin-bottom:.8rem;width:auto}.upload-welcome{color:#16222e;color:var(--text-primary);font-size:1.5rem;font-weight:800;margin-bottom:.3rem}.upload-subtitle{color:#64748b;color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0 auto;max-width:500px}.upload-steps{display:flex;gap:.8rem;margin-bottom:1.5rem}.upload-step{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:12px;flex:1 1;padding:1rem;position:relative;text-align:center;transition:all .25s}.upload-step:hover{border-color:#e8772e;border-color:var(--accent);box-shadow:0 4px 12px #0000000a;transform:translateY(-2px)}.upload-step-num{align-items:center;background:#e8772e;background:var(--accent);border-radius:50%;color:#fff;display:flex;font-size:.68rem;font-weight:800;height:22px;justify-content:center;position:absolute;right:-6px;top:-8px;width:22px}.upload-step-icon{font-size:1.5rem;margin-bottom:.4rem}.upload-step h4{color:#16222e;color:var(--text-primary);font-size:.82rem;font-weight:700;margin-bottom:.2rem}.upload-step p{color:#64748b;color:var(--text-secondary);font-size:.72rem;line-height:1.35}@media(max-width:640px){.upload-steps{flex-direction:column}.upload-logo{height:56px}.upload-welcome{font-size:1.2rem}}.lp-hero-logo{display:block;height:80px;margin-bottom:1rem;width:auto}.lp-security{padding:3rem 0}.lp-security-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.lp-security-card{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:14px;padding:1.4rem;text-align:center;transition:all .3s}.lp-security-card:hover{border-color:#e8772e;border-color:var(--accent);box-shadow:0 8px 20px #0000000d;transform:translateY(-4px)}.lp-security-icon{align-items:center;background:#26b5a014;border-radius:14px;display:flex;font-size:2rem;height:52px;justify-content:center;margin:0 auto .6rem;width:52px}.lp-security-card h3{color:#16222e;color:var(--text-primary);font-size:.88rem;font-weight:700;margin-bottom:.3rem}.lp-security-card p{color:#64748b;color:var(--text-secondary);font-size:.78rem;line-height:1.45}.upload-security-note{align-items:flex-start;background:#26b5a00d;border:1px solid #26b5a026;border-radius:10px;display:flex;gap:.6rem;margin-top:1rem;padding:.8rem 1rem}.upload-security-icon{flex-shrink:0;font-size:1.2rem;margin-top:.1rem}.upload-security-note p{color:#64748b;color:var(--text-secondary);font-size:.78rem;line-height:1.45;margin:0}.privacy-page{margin:0 auto;max-width:760px;padding:1.5rem}.privacy-content{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);margin-top:1rem;padding:2rem}.privacy-content h1{color:#16222e;color:var(--text-primary);font-size:1.6rem;font-weight:800;margin-bottom:.3rem}.privacy-updated{border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);color:#64748b;color:var(--text-secondary);font-size:.78rem;padding-bottom:.8rem}.privacy-content section,.privacy-updated{margin-bottom:1.5rem}.privacy-content h2{color:#e8772e;color:var(--accent);font-size:1.05rem;font-weight:700;margin-bottom:.4rem}.privacy-content p{color:#16222e;color:var(--text-primary);font-size:.88rem;line-height:1.65;margin-bottom:.5rem}.privacy-content ul{margin:.5rem 0;padding-left:1.2rem}.privacy-content li{color:#16222e;color:var(--text-primary);font-size:.85rem;line-height:1.7;margin-bottom:.2rem}@media(max-width:768px){.lp-security-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.lp-security-grid{grid-template-columns:1fr}}.about-page{margin:0 auto;max-width:760px;padding:1.5rem}.about-content{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 2px #102a470f;box-shadow:var(--shadow);margin-top:1rem;padding:2rem}.about-content h1{color:#16222e;color:var(--text-primary);font-size:1.6rem;font-weight:800;margin-bottom:1.2rem;text-align:center}.about-body h2{border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);color:#e8772e;color:var(--accent);font-size:1.15rem;font-weight:700;margin:1.5rem 0 .5rem;padding-bottom:.3rem}.about-body h3{font-size:1rem;font-weight:600;margin:1rem 0 .3rem}.about-body h3,.about-body p{color:#16222e;color:var(--text-primary)}.about-body p{font-size:.88rem;line-height:1.7;margin-bottom:.7rem}.about-badges{border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem;padding-bottom:1rem}.about-badge{align-items:center;border-radius:4px;box-shadow:0 1px 3px #00000026;display:inline-flex;font-size:.72rem;font-weight:600;overflow:hidden}.ab-icon{padding:.3rem .4rem}.ab-label{background:#555}.ab-label,.ab-val{color:#fff;padding:.3rem .5rem}.ab-val{background:#4caf50}.lp-badges-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem}.lp-badge{align-items:center;border-radius:4px;box-shadow:0 1px 3px #00000026;display:inline-flex;font-size:.72rem;font-weight:600;overflow:hidden}.lp-badge-label{background:#555}.lp-badge-label,.lp-badge-val{color:#fff;padding:.3rem .5rem}.lp-badge-val{background:#4caf50}@media(max-width:480px){.about-badges,.lp-badges-row{gap:.3rem}.about-badge,.lp-badge{font-size:.65rem}}.gantt-tr.critical .gantt-td{background:color-mix(in srgb,#c9403a 6%,#fff)!important;background:color-mix(in srgb,var(--gantt-critical) 6%,var(--bg-card))!important}.gantt-btn.active{background:#e8772e;background:var(--accent);border-color:#e8772e;border-color:var(--accent);color:#fff}.g-btn-active{background:color-mix(in srgb,#c9403a 10%,#0000)!important;background:color-mix(in srgb,var(--gantt-critical) 10%,#0000)!important;border-color:#0000!important;box-shadow:none!important;color:#c9403a!important;color:var(--gantt-critical)!important;font-weight:600}.g-btn-active .g-dot{background:#c9403a;background:var(--gantt-critical)}.gantt-tbody{overflow:visible}.gantt-chart{overflow:auto}.gantt-th{align-items:center;display:flex;justify-content:center;overflow:hidden;position:relative}.gantt-th-text{flex:1 1;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.gantt-resize-handle{background:#0000;bottom:0;cursor:col-resize;position:absolute;right:0;top:0;width:5px;z-index:2}.gantt-resize-handle:hover{background:#e8772e;background:var(--accent);opacity:.4}.gantt-td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-btn,.g-btn,.lp-btn-outline,.lp-btn-primary,.upload-tab{min-height:44px;min-width:44px}.lp-trust-badge{align-items:center;display:inline-flex;min-height:32px}.lp-blog-card{min-height:44px}a,button{min-height:32px}.lp-faq{padding:2.5rem 0}.lp-faq-list{margin:0 auto;max-width:720px}.lp-faq-item{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:10px;margin-bottom:.6rem;overflow:hidden;transition:all .3s}.lp-faq-item:hover{border-color:#e8772e;border-color:var(--accent)}.lp-faq-item[open]{box-shadow:0 4px 12px #0000000d}.lp-faq-q{align-items:center;color:#16222e;color:var(--text-primary);cursor:pointer;display:flex;font-size:.92rem;font-weight:600;justify-content:space-between;list-style:none;padding:1rem 1.2rem}.lp-faq-q::-webkit-details-marker{display:none}.lp-faq-q:after{color:#e8772e;color:var(--accent);content:"+";font-size:1.2rem;font-weight:300;transition:transform .2s}.lp-faq-item[open] .lp-faq-q:after{content:"−"}.lp-faq-a{color:#64748b;color:var(--text-secondary);font-size:.85rem;line-height:1.6;padding:0 1.2rem 1rem}.upload-back-link{color:#e8772e;color:var(--accent);display:block;font-size:.82rem;font-weight:600;margin-bottom:.8rem;text-align:left;text-decoration:none}.upload-back-link:hover{text-decoration:underline}.lp-footer-bar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.lp-footer-made{color:#64748b;color:var(--text-secondary);font-size:.7rem}@media(max-width:768px){.lp-footer-bar{flex-direction:column;text-align:center}}.admin-page{margin:0 auto;max-width:1000px;padding:1.5rem}.admin-page h1{color:#16222e;color:var(--text-primary);font-size:1.5rem;font-weight:800;margin-bottom:.5rem}.admin-login{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:12px;margin:3rem auto;max-width:320px;padding:2rem;text-align:center}.admin-login h2{font-size:1.2rem;margin-bottom:1rem}.admin-login input{border:1px solid #dce3eb;border:1px solid var(--border);border-radius:8px;font-size:.9rem;margin-bottom:.8rem;padding:.6rem;width:100%}.admin-login button{background:#e8772e;background:var(--accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.6rem;width:100%}.admin-refresh{background:#e4e8ef;background:var(--bg-hover);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;cursor:pointer;font-size:.8rem;margin-bottom:1rem;padding:.4rem .8rem}.admin-cards{grid-gap:.7rem;display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));margin-bottom:1.5rem}.admin-card{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:10px;padding:1rem;text-align:center}.admin-card.accent{background:#26b5a00a;border-color:#e8772e;border-color:var(--accent)}.admin-card-val{color:#16222e;color:var(--text-primary);font-size:1.6rem;font-weight:800}.admin-card.accent .admin-card-val{color:#e8772e;color:var(--accent)}.admin-card-lbl{color:#64748b;color:var(--text-secondary);font-size:.72rem;margin-top:.2rem}.admin-section{background:#fff;background:var(--bg-card);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;padding:1rem}.admin-section h3{color:#16222e;color:var(--text-primary);font-size:.95rem;font-weight:700;margin-bottom:.6rem}.admin-table{border-collapse:collapse;font-size:.78rem;width:100%}.admin-table th{background:#e4e8ef;background:var(--bg-hover);color:#64748b;color:var(--text-secondary);font-weight:600;text-align:left}.admin-table td,.admin-table th{border-bottom:1px solid #dce3eb;border-bottom:1px solid var(--border);padding:.4rem .6rem}.admin-table td{color:#16222e;color:var(--text-primary)}.admin-table-scroll{display:block;max-height:400px;overflow-y:auto}.admin-url{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-chart{align-items:flex-end;display:flex;gap:2px;height:120px;overflow-x:auto;padding:.5rem 0}.admin-bar-wrap{align-items:center;display:flex;flex-direction:column;min-width:18px}.admin-bar{background:#e8772e;background:var(--accent);border-radius:2px 2px 0 0;min-height:2px;width:14px}.admin-bar-label{color:#64748b;color:var(--text-secondary);font-size:.5rem;margin-top:2px;transform:rotate(180deg);writing-mode:vertical-rl}.admin-action-badge{border-radius:4px;font-size:.68rem;font-weight:600;padding:.15rem .4rem}.admin-action-badge.pageview{background:#e3f2fd;color:#1565c0}.admin-action-badge.upload{background:#e8f5e9;color:#2e7d32}.admin-action-badge.demo{background:#fff3e0;color:#e65100}.admin-action-badge.export_pdf{background:#fce4ec;color:#c62828}.admin-action-badge.create_project{background:#f3e5f5;color:#6a1b9a}@media(max-width:768px){.admin-cards{grid-template-columns:repeat(2,1fr)}}.ts-btn-group{display:flex;flex-wrap:wrap;gap:4px}.ts-btn{background:#e4e8ef;background:var(--bg-hover);border:1px solid #dce3eb;border:1px solid var(--border);border-radius:6px;color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;padding:.35rem .85rem;transition:all .15s}.ts-btn:hover{background:#fff;background:var(--bg-card);border-color:#e8772e;border-color:var(--accent);color:#e8772e;color:var(--accent)}.ts-btn-active{background:#e8772e!important;background:var(--accent)!important;border-color:#e8772e!important;border-color:var(--accent)!important;color:#fff!important;font-weight:700}.evx{--evx-good:var(--success);--evx-bad:var(--error);--evx-warn:#b26a00;margin:0 auto;max-width:1200px}body[data-theme=dark] .evx{--evx-warn:#f0b45a}.evx .evm-subtabs{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;display:inline-flex;gap:4px;margin:0 0 16px;padding:4px}.evx .evm-subtab{background:#0000;border:0;border-radius:7px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px}.evx .evm-subtab:hover{background:var(--bg-hover)}.evx .evm-subtab.active{background:#0e2a47;color:#fff}body[data-theme=dark] .evx .evm-subtab.active{background:var(--primary)}.evx-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:14px}.evx-title{color:var(--text-primary);font-size:20px;margin:0}.evx-sub{color:var(--text-secondary);font-size:12.5px;margin-top:4px}.evx-asof{border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:12px;padding:6px 10px}.evx-asof,.evx-card{background:var(--bg-card)}.evx-card{border:1px solid var(--border);border-radius:12px;color:var(--text-primary);min-width:0;padding:16px 18px}.evx-card h4{font-size:11.5px;font-weight:700;letter-spacing:.8px;margin:0 0 6px;text-transform:uppercase}.evx-card h4,.evx-empty{color:var(--text-secondary)}.evx-empty{font-size:13.5px;padding:28px;text-align:center}.evx-health{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-left-width:5px;border-radius:12px;display:flex;gap:14px;line-height:1.5;margin-bottom:16px;padding:14px 18px}.evx-health b{color:var(--text-primary);font-size:14.5px}.evx-health span{color:var(--text-secondary);font-size:13px}.evx-health-dot{border-radius:50%;flex:0 0 auto;height:12px;width:12px}.evx-health-good{border-left-color:var(--evx-good)}.evx-health-good .evx-health-dot{background:var(--evx-good);box-shadow:0 0 0 4px color-mix(in srgb,var(--evx-good) 18%,#0000)}.evx-health-warn{border-left-color:#e8772e}.evx-health-warn .evx-health-dot{background:#e8772e;box-shadow:0 0 0 4px color-mix(in srgb,#e8772e 18%,#0000)}.evx-health-bad{border-left-color:var(--evx-bad)}.evx-health-bad .evx-health-dot{background:var(--evx-bad);box-shadow:0 0 0 4px color-mix(in srgb,var(--evx-bad) 18%,#0000)}.evx-row{grid-gap:16px;display:grid;gap:16px;margin-bottom:16px}.evx-r1{grid-template-columns:1fr 1fr 1.35fr}.evx-r2{grid-template-columns:repeat(4,1fr)}.evx-gauge{align-items:center;display:flex;flex-direction:column}.evx-gauge h4{align-self:flex-start}.evx-g-track{fill:none;stroke:var(--bg-hover);stroke-width:16;stroke-linecap:round}.evx-g-bad{fill:none;stroke:color-mix(in srgb,var(--evx-bad) 28%,var(--bg-card));stroke-width:16}.evx-g-warn{fill:none;stroke:color-mix(in srgb,#e8912e 35%,var(--bg-card));stroke-width:16}.evx-g-good{fill:none;stroke:color-mix(in srgb,var(--evx-good) 30%,var(--bg-card));stroke-width:16}.evx-g-needle{stroke:var(--text-primary);stroke-width:4;stroke-linecap:round}.evx-g-hub{fill:var(--text-primary)}.evx-g-tick{fill:var(--text-secondary);font-size:10px}.evx-gv{font-size:28px;font-weight:700;margin-top:2px}.evx-gs{font-size:12.5px;font-weight:600;margin-top:2px}.evx-gd{color:var(--text-secondary);font-size:11.5px;line-height:1.45;margin-top:6px;text-align:center}.evx-good{color:var(--evx-good)}.evx-warn{color:var(--evx-warn)}.evx-bad{color:var(--evx-bad)}.evx-pline{grid-gap:10px;align-items:center;display:grid;font-size:12.5px;gap:10px;grid-template-columns:130px 1fr 44px;margin-top:12px}.evx-pline span{color:var(--text-secondary)}.evx-pline b{text-align:right}.evx-bar{background:var(--bg-hover);border-radius:6px;height:10px;overflow:hidden;position:relative}.evx-bar i{border-radius:6px;bottom:0;left:0;position:absolute;top:0}.evx-bar-pv{background:#1c6fb8}.evx-bar-ac{background:#2e9e6b}.evx-bar-ev{background:#e8772e}.evx-note{background:color-mix(in srgb,var(--bg-body) 60%,var(--bg-card));border-radius:8px;color:var(--text-secondary);font-size:11.5px;line-height:1.5;margin-top:12px;padding:8px 10px}.evx-kpi{position:relative}.evx-ab{background:color-mix(in srgb,var(--primary) 10%,var(--bg-card));border-radius:5px;color:var(--primary);font-size:11px;font-weight:700;padding:2px 6px;position:absolute;right:14px;top:14px}.evx-kl{color:var(--text-secondary);font-size:12px;padding-right:40px}.evx-kv{font-size:24px;font-weight:700;margin:6px 0 2px}.evx-kf{font-feature-settings:"tnum";color:var(--text-secondary);font-size:11.5px;font-variant-numeric:tabular-nums}.evx-tbl{overflow:hidden;padding:0}.evx-tbl h4{margin:0;padding:14px 18px 8px}.evx .evm-table,.evx-tbl table{border-collapse:collapse;font-size:13px;width:100%}.evx .evm-table th,.evx-tbl th{background:color-mix(in srgb,var(--bg-body) 60%,var(--bg-card));border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:11px;letter-spacing:.6px;padding:10px 12px;text-align:left;text-transform:uppercase}.evx .evm-table td,.evx-tbl td{border-bottom:1px solid color-mix(in srgb,var(--border) 60%,var(--bg-card));padding:11px 12px}.evx-m{font-weight:700;width:70px}.evx-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;text-align:right!important}.evx-num,.evx-st{white-space:nowrap}.evx-st{border-radius:999px;font-size:11px;font-weight:700;padding:3px 9px}.evx-st-g{background:color-mix(in srgb,var(--evx-good) 14%,var(--bg-card));color:var(--evx-good)}.evx-st-r{background:color-mix(in srgb,var(--evx-bad) 12%,var(--bg-card));color:var(--evx-bad)}.evx-st-a{background:color-mix(in srgb,#e8912e 14%,var(--bg-card));color:var(--evx-warn)}.evx .evm-chart-section{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.evx .evm-section-title{color:var(--text-secondary);font-size:11.5px;font-weight:700;letter-spacing:.8px;margin:0 0 12px;text-transform:uppercase}.evx .evm-table-wrapper{border:1px solid var(--border);border-radius:10px;overflow:auto}@media (max-width:900px){.evx-r1{grid-template-columns:1fr 1fr}.evx-prog{grid-column:1/span 2}.evx-r2{grid-template-columns:1fr 1fr}}@media (max-width:560px){.evx-r1,.evx-r2{grid-template-columns:1fr}.evx-prog{grid-column:auto}.evx-pline{grid-template-columns:110px 1fr 40px}}.td-modal{background:var(--bg-card);border-radius:14px;box-shadow:0 24px 60px #0e2a4759;color:var(--text-primary);display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:auto;width:min(820px,calc(100vw - 32px))}.td-head{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-body) 45%,var(--bg-card)),var(--bg-card));border-bottom:1px solid var(--border);padding:20px 24px 16px;position:relative}.td-crumb{color:var(--text-secondary);font-size:12px;margin-bottom:6px;padding-right:44px}.td-crumb b{color:var(--text-primary);font-weight:600}.td-title{font-size:20px;font-weight:700;line-height:1.3;margin:0 0 10px;padding-right:44px}.td-x{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;position:absolute;right:18px;top:16px;width:32px}.td-x:hover{background:var(--bg-hover)}.td-chips{display:flex;flex-wrap:wrap;gap:8px}.td-chip{border:1px solid #0000;border-radius:999px;font-size:11.5px;font-weight:600;padding:4px 10px;white-space:nowrap}.td-chip-blue{background:color-mix(in srgb,var(--primary) 10%,var(--bg-card));border-color:color-mix(in srgb,var(--primary) 25%,var(--bg-card));color:var(--primary)}.td-chip-bad{background:color-mix(in srgb,var(--error) 10%,var(--bg-card));border-color:color-mix(in srgb,var(--error) 25%,var(--bg-card));color:var(--error)}.td-chip-warn{background:color-mix(in srgb,#e8912e 12%,var(--bg-card));border-color:color-mix(in srgb,#e8912e 30%,var(--bg-card));color:#b26a00}body[data-theme=dark] .td-chip-warn{color:#f0b45a}.td-chip-ok{background:color-mix(in srgb,var(--success) 12%,var(--bg-card));border-color:color-mix(in srgb,var(--success) 28%,var(--bg-card));color:var(--success)}.td-chip-neutral{background:var(--bg-body);border-color:var(--border);color:var(--text-primary)}.td-summary{grid-gap:24px;align-items:center;border-bottom:1px solid var(--border);display:grid;gap:24px;grid-template-columns:210px 1fr;padding:18px 24px 20px}.td-ring{align-items:center;display:flex;gap:14px}.td-ring svg{flex:0 0 auto}.td-ring-track{fill:none;stroke:var(--bg-hover);stroke-width:7}.td-ring-fill{fill:none;stroke:var(--primary);stroke-width:7;stroke-linecap:round}.td-ring-text{fill:var(--text-primary);font-size:15px;font-weight:700}.td-muted{color:var(--text-secondary);font-size:12px}.td-strong{font-size:13px;font-weight:600}.td-tl-row{color:var(--text-secondary);display:flex;font-size:12px;gap:10px;justify-content:space-between;margin-bottom:8px}.td-tl-row b{color:var(--text-primary);display:block;font-size:13.5px;font-weight:600;margin-top:2px}.td-center{text-align:center}.td-right{text-align:right}.td-track{background:var(--bg-hover);border-radius:6px;height:10px;position:relative}.td-track-done{background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 70%,#fff));border-radius:6px;bottom:0;left:0;position:absolute;top:0}.td-today{background:var(--accent);bottom:-5px;position:absolute;top:-5px;transform:translateX(-1px);width:2px}.td-today span{color:var(--accent);font-size:10.5px;font-weight:600;position:absolute;right:0;top:18px;white-space:nowrap}.td-alert{align-items:flex-start;background:color-mix(in srgb,#e8912e 10%,var(--bg-card));border:1px solid color-mix(in srgb,#e8912e 35%,var(--bg-card));border-radius:10px;display:flex;font-size:12.5px;gap:10px;line-height:1.5;margin:14px 24px 0;padding:10px 14px}.td-alert-i{color:var(--accent);font-weight:800}.td-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;padding:16px 24px 20px}.td-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;min-width:0;padding:14px 16px}.td-span2{grid-column:1/span 2}.td-card h4{color:var(--text-secondary);display:flex;font-size:11.5px;font-weight:700;justify-content:space-between;letter-spacing:.8px;margin:0 0 10px;text-transform:uppercase}.td-h4-note{letter-spacing:0;text-transform:none}.td-kv{grid-row-gap:8px;grid-column-gap:12px;column-gap:12px;display:grid;font-size:13px;grid-template-columns:1fr auto;row-gap:8px}.td-kv span{color:var(--text-secondary)}.td-kv b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;text-align:right}.td-good{color:var(--success)}.td-bad{color:var(--error)}.td-costbar{background:var(--bg-hover);border-radius:5px;height:8px;margin-top:12px;position:relative}.td-costbar i{background:var(--success);border-radius:5px;bottom:0;left:0;position:absolute;top:0}.td-costbar i.td-costbar-over{background:#e8912e}.td-costbar-ev{background:var(--text-primary);bottom:-4px;position:absolute;top:-4px;transform:translateX(-1px);width:2px}.td-note{margin-top:8px}.td-grp,.td-note{color:var(--text-secondary);font-size:11.5px}.td-grp{margin:4px 0 6px}.td-grp+.td-pill,.td-pill+.td-pill{margin-top:0}.td-pill{align-items:center;background:color-mix(in srgb,var(--bg-body) 55%,var(--bg-card));border:1px solid var(--border);border-radius:9px;display:flex;font-size:12.5px;gap:8px;margin-bottom:6px;padding:7px 10px}.td-pill-id{color:var(--primary);font-size:11.5px;font-weight:700}.td-pill-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-pill-type{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;font-size:10.5px;font-weight:700;padding:2px 6px}.td-empty,.td-pill-type{color:var(--text-secondary)}.td-empty{background:color-mix(in srgb,var(--bg-body) 55%,var(--bg-card));border:1px dashed var(--border);border-radius:9px;font-size:12.5px;line-height:1.5;padding:10px 12px}.td-empty-sm{margin-bottom:6px;padding:7px 10px}.td-table{border-collapse:collapse;font-size:12.5px;width:100%}.td-table th{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:11px;font-weight:600;padding:4px 0 6px;text-align:left}.td-table td{border-bottom:1px solid color-mix(in srgb,var(--border) 60%,var(--bg-card));padding:7px 0}.td-num{text-align:right!important}.td-avatar{align-items:center;background:color-mix(in srgb,var(--primary) 12%,var(--bg-card));border-radius:50%;display:inline-flex;font-size:10px;height:22px;justify-content:center;margin-right:8px;width:22px}.td-avatar,.td-tag{color:var(--primary);font-weight:700}.td-tag{background:color-mix(in srgb,var(--primary) 10%,var(--bg-card));border-radius:5px;font-size:10.5px;padding:2px 6px}.td-notes{font-size:13px;line-height:1.55;white-space:pre-wrap}.td-foot{align-items:center;background:color-mix(in srgb,var(--bg-body) 35%,var(--bg-card));border-top:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;margin-top:auto;padding:14px 24px}.td-foot-r{display:flex;gap:8px}.td-meta{color:var(--text-secondary);font-size:11.5px;text-align:center}.td-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:9px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;padding:9px 16px}.td-btn:hover{background:var(--bg-hover)}.td-btn-del{border-color:color-mix(in srgb,var(--error) 35%,var(--bg-card));color:var(--error)}.td-btn-pri{background:#e8772e;border-color:#e8772e;color:#fff}.td-btn-pri:hover{background:#d4671f}@media (max-width:640px){.td-summary{gap:14px}.td-grid,.td-summary{grid-template-columns:1fr}.td-span2{grid-column:auto}.td-foot{flex-wrap:wrap}.td-meta{order:3;width:100%}}.td-edit .td-title-input{background:var(--bg-card);border:1px solid var(--border);border-radius:9px;color:var(--text-primary);font-size:19px;font-weight:700;padding:8px 12px;width:calc(100% - 44px)}.td-edit .td-textarea,.td-edit input[type=date],.td-edit input[type=number],.td-edit input[type=text],.td-edit select{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:13px;padding:7px 9px;width:100%}.td-edit .td-textarea:focus,.td-edit .td-title-input:focus,.td-edit input:focus,.td-edit select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,#0000);outline:none}.td-form2{grid-gap:10px 12px;display:grid;gap:10px 12px;grid-template-columns:1fr 1fr}.td-form2 label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:11.5px;font-weight:600;gap:4px}.td-check{align-items:center;color:var(--text-primary);display:flex;font-size:13px;gap:8px;margin-top:12px}.td-check input{width:auto}.td-slider{align-items:center;display:flex;gap:12px}.td-slider input[type=range]{accent-color:var(--primary);flex:1 1}.td-slider-val{align-items:center;display:flex;font-weight:600;gap:4px}.td-slider-val input{text-align:right;width:70px!important}.td-pred-head,.td-pred-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) 190px 90px 34px}.td-pred-head{color:var(--text-secondary);font-size:11px;font-weight:600;margin-bottom:6px}.td-pred-row{margin-bottom:8px}.td-pred-row .td-warn{grid-column:1/-1}.td-icon-btn{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;height:34px}.td-icon-btn:hover{border-color:color-mix(in srgb,var(--error) 40%,var(--bg-card));color:var(--error)}.td-btn-add{border-style:dashed;color:var(--primary);margin-top:4px}.td-warn{background:color-mix(in srgb,#e8912e 12%,var(--bg-card));border:1px solid color-mix(in srgb,#e8912e 35%,var(--bg-card));border-radius:8px;color:#8a4a00;font-size:12px;margin:2px 0 8px;padding:6px 10px}body[data-theme=dark] .td-warn{color:#f0b45a}.td-btn:disabled{cursor:not-allowed;opacity:.5}.td-res-edit .assignment-section{margin:0}.td-res-edit .assignment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.td-res-edit .assignment-header label{color:var(--text-secondary);font-size:11.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}.td-res-edit .assignment-table{border-collapse:collapse;font-size:12.5px;width:100%}.td-res-edit .assignment-table th{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:11px;font-weight:600;padding:4px 0 6px;text-align:left}.td-res-edit .assignment-table td{border-bottom:1px solid color-mix(in srgb,var(--border) 60%,var(--bg-card));padding:6px 0}.td-res-edit .units-input{width:80px!important}@media (max-width:640px){.td-form2{grid-template-columns:1fr}.td-pred-head{display:none}.td-pred-row{grid-template-columns:1fr 1fr 34px}.td-pred-row select:first-child{grid-column:1/-1}}.rv{padding:4px 0 16px}.rv-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px}.rv-filters{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px}.rv-filter{background:#0000;border:0;border-radius:7px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px}.rv-filter span{background:var(--bg-hover);border-radius:999px;font-size:11px;margin-left:4px;padding:1px 7px}.rv-filter.on{background:#0e2a47;color:#fff}.rv-filter.on span{background:#ffffff2e}body[data-theme=dark] .rv-filter.on{background:var(--primary)}.rv-search{background:var(--bg-card);border:1px solid var(--border);border-radius:9px;color:var(--text-primary);font-size:13px;min-width:240px;padding:8px 12px}.rv-hint{color:var(--text-secondary);font-size:12.5px;margin:0 0 12px}.rv-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.rv-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;border-top:4px solid var(--primary);color:var(--text-primary);display:flex;flex-direction:column;gap:12px;min-width:0;padding:14px 16px}.rv-material{border-top-color:#2e9e6b}.rv-cost{border-top-color:#e8772e}.rv-card-head{gap:10px}.rv-avatar,.rv-card-head{align-items:center;display:flex}.rv-avatar{background:color-mix(in srgb,var(--primary) 12%,var(--bg-card));border-radius:50%;color:var(--primary);flex:0 0 auto;font-size:14px;font-weight:700;height:40px;justify-content:center;width:40px}.rv-material .rv-avatar{background:color-mix(in srgb,#2e9e6b 12%,var(--bg-card));color:#2e9e6b}.rv-cost .rv-avatar{background:color-mix(in srgb,#e8772e 12%,var(--bg-card));color:#e8772e}.rv-id{flex:1 1;min-width:0}.rv-name{font-size:14.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-sub{color:var(--text-secondary);font-size:12px;margin-top:2px}.rv-actions{display:flex;gap:6px}.rv-icon{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:13px;height:30px;width:30px}.rv-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.rv-del:hover{color:var(--error)}.rv-stats{grid-gap:6px;background:color-mix(in srgb,var(--bg-body) 55%,var(--bg-card));border-radius:10px;display:grid;gap:6px;grid-template-columns:repeat(4,1fr);padding:10px 6px;text-align:center}.rv-stats b{display:block;font-size:15px}.rv-stats span{color:var(--text-secondary);font-size:10.5px}.rv-crit{color:var(--error)}.rv-prog{align-items:center;color:var(--text-secondary);display:flex;font-size:11.5px;gap:10px}.rv-bar{background:var(--bg-hover);border-radius:5px;flex:1 1;height:7px;overflow:hidden}.rv-bar i{background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 65%,#fff));border-radius:5px;display:block;height:100%}.rv-now{align-items:center;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:12px;gap:6px}.rv-dot{background:#2e9e6b;border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,#2e9e6b 20%,#0000);height:8px;width:8px}.rv-link{background:none;border:0;color:var(--primary);cursor:pointer;font-size:12px;font-weight:600;padding:0}.rv-tasks{display:flex;flex-direction:column;gap:5px}.rv-task{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:12.5px;gap:8px;padding:6px 9px;text-align:left}.rv-task:hover{background:var(--bg-hover)}.rv-task-id{color:var(--primary);font-size:11px;font-weight:700}.rv-task-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-task-pct{font-feature-settings:"tnum";font-size:11px;font-variant-numeric:tabular-nums}.rv-more,.rv-task-pct{color:var(--text-secondary)}.rv-more{font-size:11.5px;padding-left:4px}.rv-empty{background:color-mix(in srgb,var(--bg-body) 55%,var(--bg-card));border:1px dashed var(--border);border-radius:9px;color:var(--text-secondary);font-size:12.5px;padding:9px 12px}.rv-empty-all{grid-column:1/-1;padding:24px;text-align:center}.rv-foot{border-top:1px solid var(--border);color:var(--text-secondary);font-size:12px;overflow:hidden;padding-top:10px;text-overflow:ellipsis;white-space:nowrap}.rv-modal{width:min(560px,calc(100vw - 32px))}@media (max-width:560px){.rv-search{min-width:0;width:100%}}.pdfm-overlay{overflow:auto;padding:20px}.pdfm{background:var(--bg-card);border-radius:14px;box-shadow:0 24px 60px #0e2a4759;color:var(--text-primary);display:flex;flex-direction:column;margin:auto;max-height:calc(100vh - 40px);overflow:hidden;width:min(1080px,100%)}.pdfm-h{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:16px 22px 13px}.pdfm-h small{color:var(--text-secondary);font-size:12px}.pdfm-h h2{color:#0e2a47;font-size:20px;margin:2px 0 0}body[data-theme=dark] .pdfm-h h2{color:var(--text-primary)}.pdfm-x{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;flex:0 0 auto;height:32px;justify-content:center;width:32px}.pdfm-x:hover{background:var(--bg-hover);color:var(--text-primary)}.pdfm-body{display:grid;flex:1 1;grid-template-columns:1fr 300px;min-height:0;overflow:hidden}.pdfm-left{grid-gap:14px;align-content:start;display:grid;gap:14px;grid-template-columns:1fr 1fr;overflow:auto;padding:16px 18px 18px 22px}.pdfm-card{border:1px solid var(--border);border-radius:12px;min-width:0;padding:13px 15px}.pdfm-card.span2{grid-column:1/span 2}.pdfm-card.off{opacity:.55}.pdfm-card h4,.pdfm-right h4{color:var(--text-secondary);display:flex;font-size:11.5px;gap:8px;justify-content:space-between;letter-spacing:.8px;margin:0 0 10px;text-transform:uppercase}.pdfm-card h4 span{color:var(--primary);font-weight:600;letter-spacing:0;text-transform:none}.pdfm-card h4 span.muted{color:var(--text-secondary);font-weight:500}.pdfm-secs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.pdfm-sec{align-items:flex-start;background:var(--bg-card);border:1.5px solid var(--border);border-radius:10px;color:var(--text-primary);cursor:pointer;display:flex;font:inherit;gap:9px;padding:9px 10px;text-align:left}.pdfm-sec:hover{border-color:color-mix(in srgb,var(--primary) 50%,var(--border))}.pdfm-sec.on{background:color-mix(in srgb,var(--primary) 7%,var(--bg-card));border-color:var(--primary)}.pdfm-sec b{display:block;font-size:12.5px}.pdfm-sec small{color:var(--text-secondary);display:block;font-size:11px;line-height:1.35;margin-top:1px}.pdfm-ck{align-items:center;border:1.5px solid #b8c4d2;border-radius:5px;display:flex;flex:0 0 18px;height:18px;justify-content:center;margin-top:1px}.pdfm-sec.on .pdfm-ck{background:var(--primary);border-color:var(--primary)}.pdfm-warn{color:var(--error);font-size:12px;margin-top:8px}.pdfm-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px}.pdfm-row.top{align-items:flex-start}.pdfm-row.top .pdfm-lab{margin-top:6px}.pdfm-lab{color:var(--text-secondary);font-size:11.5px;font-weight:600;width:84px}.pdfm-seg{background:var(--bg-hover);border:1px solid var(--border);border-radius:9px;display:inline-flex;flex-wrap:wrap;gap:3px;padding:3px}.pdfm-seg button{background:#0000;border:0;border-radius:6px;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:12.5px;font-weight:600;padding:6px 12px}.pdfm-seg button.on{background:var(--bg-card);box-shadow:0 1px 3px #0e2a4726;color:var(--text-primary)}.pdfm-orient{display:flex;flex-wrap:wrap;gap:8px}.pdfm-orient button{align-items:center;background:var(--bg-card);border:1.5px solid var(--border);border-radius:9px;color:var(--text-secondary);cursor:pointer;display:flex;font:inherit;font-size:12px;font-weight:600;gap:7px;padding:6px 10px}.pdfm-orient button.on{background:color-mix(in srgb,var(--primary) 7%,var(--bg-card));border-color:var(--primary);color:var(--text-primary)}.pdfm-orient i{border:2px solid;border-radius:2px;display:block}.pdfm-chips{display:flex;flex-wrap:wrap;gap:6px}.pdfm-chips button{background:var(--bg-card);border:1px solid var(--border);border-radius:999px;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:12px;font-weight:600;padding:5px 10px}.pdfm-chips button.on{background:#0e2a47;border-color:#0e2a47;color:#fff}body[data-theme=dark] .pdfm-chips button.on{background:var(--primary);border-color:var(--primary)}.pdfm-dates{align-items:center;display:flex;flex-wrap:wrap;font-size:12.5px;gap:8px;margin-top:8px}.pdfm-range{color:var(--text-secondary)}.pdfm-inp{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font:inherit;font-size:12.5px;min-width:0;padding:7px 10px}.pdfm-inp:focus{border-color:var(--primary);outline:2px solid color-mix(in srgb,var(--primary) 35%,#0000)}.pdfm-togs{grid-column-gap:24px;column-gap:24px;display:grid;grid-template-columns:1fr 1fr}.pdfm-tog{align-items:center;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,#0000);cursor:pointer;display:flex;font-size:12.5px;gap:10px;justify-content:space-between;padding:6px 0}.pdfm .pdfm-sw{background:#cbd5e1;border:0;border-radius:999px;box-shadow:none;box-sizing:border-box;cursor:pointer;flex:0 0 auto;height:20px;margin:0;max-height:20px;max-width:34px;min-height:0;min-width:0;padding:0;position:relative;transition:background .15s;width:34px}.pdfm-sw:after{background:#fff;border-radius:50%;box-shadow:0 1px 2px #0003;content:"";height:16px;left:2px;position:absolute;top:2px;transition:left .15s;width:16px}.pdfm .pdfm-sw.on{background:var(--primary)}.pdfm .pdfm-sw.on:after{left:16px}.pdfm-field{margin-bottom:9px}.pdfm-field label{color:var(--text-secondary);display:block;font-size:11.5px;font-weight:600;margin-bottom:4px}.pdfm-field .pdfm-inp{box-sizing:border-box;width:100%}.pdfm-logo{flex-wrap:wrap;gap:10px}.pdfm-logo,.pdfm-logobox{align-items:center;display:flex}.pdfm-logobox{background:#fff;border:1px dashed #b8c4d2;border-radius:8px;height:40px;justify-content:center;overflow:hidden;width:110px}.pdfm-logobox img{max-height:30px;max-width:96px}.pdfm-logobox span{color:#1c6fb8;font-size:11px;font-weight:700}.pdfm-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);cursor:pointer;display:inline-flex;font:inherit;font-size:12.5px;font-weight:600;gap:7px;padding:7px 12px}.pdfm-btn:hover:not(:disabled){background:var(--bg-hover)}.pdfm-btn:disabled{cursor:default;opacity:.6}.pdfm-btn.pri{background:#e8772e;border-color:#e8772e;color:#fff;padding:9px 18px}.pdfm-btn.pri:hover:not(:disabled){background:#d5661f}.pdfm-link{background:none;border:0;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:12px;padding:0;text-decoration:underline}.pdfm-right{background:color-mix(in srgb,var(--bg-hover) 70%,var(--bg-card));border-left:1px solid var(--border);overflow:auto;padding:16px 18px}.pdfm-right h4{margin-bottom:6px}.pdfm-est{color:var(--text-secondary);font-size:12px;margin-bottom:12px}.pdfm-est b{color:var(--text-primary)}.pdfm-pages{display:flex;flex-direction:column;gap:10px}.pdfm-pages.portrait{display:grid;grid-template-columns:1fr 1fr}.pdfm-pg{background:#fff;border-radius:4px;box-shadow:0 2px 8px #0e2a472e;overflow:hidden;padding:7px 8px;position:relative}.pdfm-band{background:linear-gradient(90deg,#1c6fb8 0 78%,#e8772e 78%);height:3px;margin:-7px -8px 6px}.pdfm-cap{background:#0e2a47d6;bottom:0;color:#fff;display:flex;font-size:10.5px;font-weight:600;gap:6px;justify-content:space-between;left:0;padding:4px 8px;position:absolute;right:0}.pdfm-cap span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdfm-mini{display:flex;gap:4px;margin-bottom:5px}.pdfm-mini i{background:#e8eef5;border-radius:2px;border-top:2px solid #1c6fb8;flex:1 1;height:14px}.pdfm-mini i.o{border-top-color:#e8772e}.pdfm-mini i.r{border-top-color:#b23530}.pdfm-box{border:1px solid #e1e7ee;border-radius:3px;flex:0 0 32%;height:40px}.pdfm-ln{background:#e1e7ee;height:4px}.pdfm-gb,.pdfm-ln{border-radius:2px;margin:3px 0}.pdfm-gb{height:5px}.pdfm-arc{border:4px solid #bfe5d2;border-bottom:0;border-radius:30px 30px 0 0;height:16px;width:30px}.pdfm-arc.a{border-color:#f8deb5}.pdfm-curve{display:block;height:auto;margin-top:4px;width:100%}.pdfm-f{align-items:center;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 22px}.pdfm-meta{color:var(--text-secondary);font-size:12px}.pdfm-meta.err{color:var(--error);font-weight:600}.pdfm-actions{display:flex;gap:8px}.pdfm-spin{animation:pdfm-spin .8s linear infinite;border:2px solid #ffffff73;border-radius:50%;border-top-color:#fff;height:13px;width:13px}@keyframes pdfm-spin{to{transform:rotate(1turn)}}@media (max-width:900px){.pdfm-body{grid-template-columns:1fr;overflow:auto}.pdfm-left{overflow:visible}.pdfm-right{border-left:0;border-top:1px solid var(--border)}.pdfm-pages,.pdfm-pages.portrait{display:grid;grid-template-columns:repeat(3,1fr)}}@media (max-width:640px){.pdfm-overlay{padding:0}.pdfm{border-radius:0;max-height:100vh}.pdfm-left{grid-template-columns:1fr;padding:14px}.pdfm-card.span2{grid-column:auto}.pdfm-secs{grid-template-columns:1fr 1fr}.pdfm-togs{grid-template-columns:1fr}.pdfm-right{display:none}}
/*# sourceMappingURL=main.24462c77.css.map*/