:root{--primary:#0f2b48;--primary-light:#1e3f66;--secondary:#00b4d8;--accent:#00e5ff;--accent-rgb:0, 229, 255;--bg-app:#f4f7fa;--bg-card:#ffffffd9;--bg-card-hover:#fffffff2;--text-primary:#1e293b;--text-secondary:#64748b;--text-light:#94a3b8;--border:#e2e8f0cc;--border-focus:#00b4d8;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-glow:0 0 15px #00e5ff4d;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--primary:#0b192f;--primary-light:#172a45;--secondary:#00b4d8;--accent:#00e5ff;--bg-app:#060c18;--bg-card:#112240b3;--bg-card-hover:#112240d9;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-light:#64748b;--border:#1e293bb3;--shadow-md:0 4px 20px #0000004d;--shadow-lg:0 10px 30px #0006}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-primary);min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal);line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-container{width:100vw;min-height:100vh;display:flex;position:relative;overflow:hidden}.main-content{height:100vh;padding-bottom:calc(24px + env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden auto}.container-fluid{width:100%;max-width:1400px;margin:0 auto;padding:24px}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform var(--transition-normal), box-shadow var(--transition-normal), background var(--transition-normal), border-color var(--transition-normal);padding:20px}.glass-card:hover{background:var(--bg-card-hover);box-shadow:var(--shadow-lg);border-color:#00b4d84d}.app-header{padding:16px 24px;padding-top:calc(16px + env(safe-area-inset-top));background:var(--primary);color:#fff;box-shadow:var(--shadow-md);z-index:100;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-title-container{align-items:center;gap:12px;display:flex}.header-logo{width:38px;height:38px;filter:drop-shadow(0 0 6px var(--accent))}.header-title{letter-spacing:.5px;background:linear-gradient(135deg, #fff 30%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.25rem;font-weight:700}.header-subtitle{color:var(--text-light);font-size:.75rem;display:block}.user-profile{align-items:center;gap:12px;display:flex}.user-info{text-align:right}.user-name{font-size:.875rem;font-weight:600}.user-role{color:#00e5ff;text-transform:uppercase;font-size:.7rem;font-weight:500}.form-group{min-width:0;margin-bottom:20px}.form-label{color:var(--text-primary);margin-bottom:6px;font-size:.875rem;font-weight:600;display:block}.form-control{width:100%;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background-color:#ffffff0d;outline:none;padding:10px 14px;font-family:inherit;font-size:.95rem}input[type=date].form-control{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.form-control:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #00b4d826}textarea.form-control{resize:vertical;min-height:100px}select.form-control{background-color:var(--bg-card);color:var(--text-primary);cursor:pointer}select.form-control option{color:#f8fafc;background-color:#172a45}[data-theme=light] select.form-control option{color:#1e293b;background-color:#fff}.input-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.slider-container{align-items:center;gap:16px;display:flex}.slider-input{background:var(--border);-webkit-appearance:none;border-radius:3px;outline:none;flex:1;height:6px}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;background:var(--secondary);cursor:pointer;width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);border-radius:50%}.slider-input::-webkit-slider-thumb:hover{transform:scale(1.2)}.slider-value{color:var(--secondary);text-align:right;min-width:32px;font-size:1.125rem;font-weight:700}.quick-tags{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.quick-tag{color:var(--secondary);cursor:pointer;transition:all var(--transition-fast);background:#00b4d814;border:1px solid #00b4d826;border-radius:20px;padding:5px 10px;font-size:.75rem;font-weight:500}.quick-tag:hover{background:var(--secondary);color:#fff}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-family:inherit;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--secondary), #0077b6);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00b4d84d}.btn-secondary{border:1px solid var(--border);color:var(--text-primary);background:0 0}.btn-secondary:hover{background:var(--border)}.btn-accent{background:var(--accent);color:#0a192f;box-shadow:var(--shadow-glow)}.btn-accent:hover{transform:translateY(-1px);box-shadow:0 0 20px #00e5ff80}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover{background:#dc2626}.btn-sm{padding:6px 12px;font-size:.8rem}.btn-block{width:100%}.parser-actions-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.btn-parse-action{letter-spacing:.2px;border-radius:var(--radius-sm);width:100%;transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:12px 14px;font-size:.85rem;font-weight:600;display:inline-flex}.btn-parse-action svg{flex-shrink:0}.form-actions-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:16px;display:grid}.form-actions-grid .btn{width:100%;padding:12px 16px;font-size:.875rem}.user-profile-badge{cursor:pointer;transition:all var(--transition-fast);text-align:left;background:#ffffff0d;border:1px solid #ffffff14;border-radius:40px;outline:none;align-items:center;gap:10px;padding:6px 14px;font-family:inherit;display:flex}.user-profile-badge:hover{border-color:var(--secondary);background:#ffffff1a;box-shadow:0 0 12px #00e5ff26}.avatar-circle{background:linear-gradient(135deg, var(--secondary), #0077b6);color:#fff;border:1px solid #fff3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.user-profile-badge .user-info{flex-direction:column;justify-content:center;line-height:1.25;display:flex}.user-profile-badge .user-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:110px;font-size:.8rem;font-weight:600;overflow:hidden}.user-profile-badge .status-tag{text-transform:uppercase;letter-spacing:.5px;font-size:.625rem;font-weight:700}.user-profile-badge .status-tag.online{color:#10b981}.user-profile-badge .status-tag.offline{color:#ef4444}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:24px;display:grid}@media (width<=1024px){.dashboard-grid{grid-template-columns:1fr}}.panel-header{border-bottom:2px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:10px;display:flex}.panel-title{color:var(--primary-light);align-items:center;gap:8px;font-size:1.1rem;font-weight:700;display:flex}[data-theme=dark] .panel-title{color:var(--accent)}.sidebar{background:var(--primary);color:#fff;width:280px;height:100vh;transition:transform var(--transition-slow), width var(--transition-slow);z-index:150;border-right:1px solid #ffffff14;flex-direction:column;flex-shrink:0;display:flex}.sidebar-header{border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:20px;display:flex}.sidebar-logo{width:32px;height:32px}.sidebar-logo-text{letter-spacing:1px;font-size:1.1rem;font-weight:800}.sidebar-menu{flex:1;padding:16px 12px;overflow-y:auto}.menu-item{border-radius:var(--radius-sm);color:#ffffffb3;cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:12px;margin-bottom:4px;padding:10px 14px;font-size:.925rem;font-weight:500;display:flex}.menu-item:hover{color:#fff;background:#ffffff0d}.menu-item.active{background:var(--secondary);color:#fff;box-shadow:0 4px 10px #00b4d84d}.sidebar-footer{border-top:1px solid #ffffff14;padding:16px 20px}.history-section{border-top:1px solid #ffffff14;margin-top:20px;padding-top:20px}.history-title{text-transform:uppercase;color:var(--text-light);letter-spacing:1px;margin-bottom:10px;font-size:.8rem}.history-list{flex-direction:column;gap:8px;max-height:300px;display:flex;overflow-y:auto}.history-card{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#ffffff08;border:1px solid #ffffff0d;padding:10px 12px}.history-card:hover{background:#ffffff14;border-color:#00e5ff4d}.history-card.active{border-color:var(--secondary);background:#00b4d826}.history-card-header{color:var(--accent);justify-content:space-between;margin-bottom:4px;font-size:.8rem;font-weight:600;display:flex}.history-card-desc{white-space:nowrap;text-overflow:ellipsis;color:#fff9;font-size:.75rem;overflow:hidden}@media (width<=768px){.sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:5px 0 25px #00000080}}.photo-upload-container{border:2px dashed var(--border);border-radius:var(--radius-md);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:#ffffff05;padding:24px}.photo-upload-container:hover{border-color:var(--secondary);background:#00b4d805}.photo-upload-input{display:none}.photo-upload-icon{width:48px;height:48px;color:var(--text-secondary);margin:0 auto 12px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:16px;display:grid}.photo-item{aspect-ratio:4/3;border-radius:var(--radius-sm);border:1px solid var(--border);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.photo-item img{object-fit:cover;width:100%;height:100%}.photo-delete-btn{color:#fff;cursor:pointer;width:24px;height:24px;transition:background var(--transition-fast);background:#ef4444e6;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:6px;right:6px}.photo-delete-btn:hover{background:#dc2626}.options-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:16px;display:grid}.option-checkbox-card{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0a;align-items:center;gap:10px;padding:10px 14px;font-size:.825rem;font-weight:500;display:flex}.option-checkbox-card:hover{background:#00b4d80d}.option-checkbox-card input[type=checkbox]{accent-color:var(--secondary);width:16px;height:16px}.code-preview-container{border-radius:var(--radius-sm);background:#0d1e36;border:1px solid #1a2f4c;margin-top:16px;padding:16px;position:relative}.code-preview-header{border-bottom:1px solid #1a2f4c;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;display:flex}.code-preview-lang{color:#00e5ff;font-size:.75rem;font-family:var(--mono);font-weight:700}.code-preview-scroll{max-height:400px;overflow-y:auto}pre code.json-code{font-family:var(--mono);color:#e2e8f0;white-space:pre-wrap;word-break:break-all;background:0 0;padding:0;font-size:.825rem}.tabs{border-bottom:1px solid var(--border);gap:8px;margin-bottom:20px;display:flex}.tab{cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);border-bottom:2px solid #0000;padding:10px 18px;font-size:.9rem;font-weight:600}.tab:hover{color:var(--secondary)}.tab.active{color:var(--secondary);border-bottom-color:var(--secondary)}.tag-input-row{gap:8px;width:100%;margin-bottom:10px;display:flex}.tag-input-name-col{flex:3;position:relative}.tag-input-qty-col{flex:2}.tag-input-btn-col{flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:10px 14px;display:flex}.tag-input-dropdown div{padding:12px 16px!important;font-size:.95rem!important}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0a192fd9;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:650px;max-height:90vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{color:var(--primary-light);font-size:1.1rem;font-weight:700}.modal-close{color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.modal-close:hover{color:#ef4444}.modal-body{padding:20px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.auth-container{background:radial-gradient(circle,#0f3460 0%,#0a192f 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-lg);text-align:center;color:#fff;background:#112240bf;border:1px solid #00b4d840;width:100%;max-width:420px;padding:40px 32px;box-shadow:0 10px 40px #00000080}.auth-logo-container{margin-bottom:24px}.auth-logo{width:64px;height:64px;filter:drop-shadow(0 0 10px var(--accent))}.auth-title{letter-spacing:.5px;background:linear-gradient(135deg, #fff 40%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:6px;font-size:1.5rem;font-weight:800}.auth-subtitle{color:#fff9;margin-bottom:32px;font-size:.825rem}.audio-input-btn{border:1px dashed var(--accent);color:var(--accent);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:#00e5ff1a;justify-content:center;align-items:center;gap:10px;width:100%;margin-bottom:20px;padding:12px;font-weight:600;display:flex}.audio-input-btn.recording{color:#ef4444;background:#ef444426;border-color:#ef4444;animation:1.5s infinite pulse-red}@keyframes pulse-red{0%{transform:scale(1);box-shadow:0 0 #ef444466}70%{transform:scale(1.02);box-shadow:0 0 0 8px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.toast{color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:2000;background:#10b981;align-items:center;gap:10px;padding:12px 24px;font-size:.9rem;font-weight:600;animation:.3s cubic-bezier(.16,1,.3,1) slide-in;display:flex;position:fixed;bottom:24px;right:24px}.toast.toast-error{background:#ef4444}@keyframes slide-in{0%{opacity:0;transform:translateY(100%)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.preview-scroll-container{border-radius:var(--radius-md);-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;width:100%;margin-top:10px;overflow-x:auto}.preview-scroll-container::-webkit-scrollbar{display:none}.form-label{color:var(--text-primary);margin-bottom:8px;font-size:.85rem;font-weight:600;align-items:center!important;gap:6px!important;display:flex!important}.form-label svg{flex-shrink:0;display:block;margin-right:0!important}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);z-index:190;background:#0a192f99;animation:.2s ease-out fade-in;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (width<=768px){.container-fluid{padding:12px!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}.glass-card{border-radius:var(--radius-md)!important;padding:16px!important}.form-group{min-width:0!important;margin-bottom:16px!important}.input-row{grid-template-columns:1fr!important;gap:12px!important}.app-header{height:auto;padding:12px 16px!important;padding-top:calc(12px + env(safe-area-inset-top))!important}.header-title-container{max-width:65%;gap:8px!important}#mobile-menu-trigger{padding:6px!important}.header-title{white-space:nowrap;text-overflow:ellipsis;max-width:100%;line-height:1.2;overflow:hidden;font-size:1rem!important}.header-subtitle{white-space:nowrap;text-overflow:ellipsis;max-width:160px;margin-top:2px;overflow:hidden;font-size:.68rem!important}.user-profile{gap:8px!important}.user-name{white-space:nowrap;text-overflow:ellipsis;max-width:80px;overflow:hidden;font-size:.8rem!important}.user-role{letter-spacing:.5px;font-size:.6rem!important}input.form-control,select.form-control,textarea.form-control{min-height:48px;padding:12px 14px!important;font-size:16px!important}.sidebar{box-shadow:none;z-index:200!important;width:290px!important;max-width:80vw!important;height:100vh!important;transition:transform var(--transition-slow)!important;padding-top:calc(10px + env(safe-area-inset-top))!important;padding-bottom:calc(10px + env(safe-area-inset-bottom))!important;background:#0a192f!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;transform:translate(-100%)!important}.sidebar.open{transform:translate(0)!important;box-shadow:10px 0 30px #00000080!important}.sidebar-close-mobile-btn{transition:color var(--transition-fast);border-radius:6px;padding:6px;color:var(--text-secondary)!important;display:block!important}.sidebar-close-mobile-btn:hover{background:#ffffff0d;color:#fff!important}.glass-card div[style*="background: rgba(255, 255, 255, 0.03)"]{box-sizing:border-box;align-items:center!important;gap:10px!important;height:48px!important;padding:8px 12px!important;display:flex!important}.glass-card div[style*="background: rgba(255, 255, 255, 0.03)"] input{height:100%!important;color:var(--text-primary)!important;margin:0!important;padding:0!important;font-size:16px!important}textarea.form-control{color:var(--text-primary)!important;border:1px solid var(--border)!important;background:#ffffff05!important;font-size:16px!important;line-height:1.4!important}[data-theme=dark] textarea.form-control{background:#11224066!important}.options-grid{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.option-checkbox-card{justify-content:flex-start;min-height:48px;padding:12px 14px!important;font-size:.85rem!important}.tag-input-row{flex-wrap:wrap!important;gap:8px!important}.tag-input-name-col{margin-bottom:4px;flex:100%!important}.tag-input-qty-col{flex:calc(100% - 64px)!important}.tag-input-btn-col{flex:0 0 54px!important;height:48px!important;margin:0!important;padding:0!important}.parser-actions-grid{grid-template-columns:1fr!important;gap:8px!important;margin-top:12px!important}.btn-parse-action{text-align:center;min-height:48px;white-space:normal!important;padding:14px 16px!important;font-size:.95rem!important}.form-actions-grid{grid-template-columns:1fr!important;gap:10px!important;margin-top:12px!important}.form-actions-grid .btn{min-height:48px;padding:14px 16px!important;font-size:.95rem!important}.btn-accent,.btn-secondary,.btn-primary,.btn-danger{min-height:48px;font-size:.95rem}.btn-sm{min-height:38px;font-size:.85rem}.user-profile-badge{height:38px;gap:6px!important;padding:6px 10px!important}.avatar-circle{width:24px!important;height:24px!important}.user-profile-badge .user-name{max-width:70px!important;font-size:.75rem!important}.user-profile-badge .status-tag{font-size:.58rem!important}.tabs{gap:6px!important}.tab{min-height:40px;padding:10px 14px!important;font-size:.9rem!important}.preview-scroll-container{padding-top:36px;position:relative}.preview-scroll-container:before{content:"💡 Xoay ngang màn hình điện thoại để xem bản in A4 chuẩn nhất";color:#00e5ff;text-align:center;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);background:#0f2b48;border:1px solid #00e5ff33;padding:6px 12px;font-size:.775rem;font-weight:700;position:absolute;top:0;left:0;right:0}}.menu-item-action{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;font-weight:500;display:flex}.menu-item-action:hover{color:#fff;background:#ffffff0d}.project-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}@media (width<=576px){.project-grid{grid-template-columns:1fr}}.dashboard-header-actions{align-items:center;gap:10px;display:flex}@media (width<=576px){.dashboard-header-actions{width:100%;margin-top:8px}.dashboard-header-actions button{flex:1;justify-content:center;padding:10px 8px!important;font-size:.8rem!important}}.project-card-actions{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;display:grid}@media (width<=768px){.project-card-actions{grid-template-columns:repeat(2,1fr);gap:8px}}.add-project-card:hover{transform:translateY(-2px);box-shadow:0 0 15px #00e5ff1a;border-color:var(--accent)!important;background:#00e5ff08!important}.pwa-install-banner{z-index:9999;-webkit-backdrop-filter:blur(16px);padding:16px;animation:.4s cubic-bezier(.16,1,.3,1) forwards pwa-slide-in;position:fixed;bottom:20px;left:20px;right:20px;background:#0a192fd9!important;border:1px solid #00e5ff33!important;box-shadow:0 8px 32px #00000080,0 0 20px #00e5ff1a!important}@keyframes pwa-slide-in{0%{opacity:0;transform:translateY(120%)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width>=768px){.pwa-install-banner{width:420px;bottom:20px;left:auto;right:20px}}@media print{@page{size:A4 portrait;margin:0}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#000!important;background:#fff!important;margin:0!important;padding:0!important}body *{visibility:hidden}.printable-a4-area,.printable-a4-area *{visibility:visible}.printable-a4-area{page-break-after:always;position:absolute;top:0;left:0;width:210mm!important;min-height:297mm!important;box-shadow:none!important;color:#000!important;box-sizing:border-box!important;background:#fff!important;border:none!important;margin:0!important;padding:20mm!important}.no-print{display:none!important}.photo-print-section{page-break-before:always!important}}.photo-print-section,.html2pdf__page-break{page-break-before:always!important;break-before:page!important}.avoid-break{page-break-inside:avoid!important;break-inside:avoid!important}.task-manager{flex-direction:column;gap:16px;animation:.4s ease-out fadeIn;display:flex}.job-card{transition:transform .2s,box-shadow .2s}.job-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0006}.job-header:hover{background-color:#ffffff05}.task-item{border:1px solid #0000;transition:background-color .2s}.task-item:hover{border-color:#3b82f6;background-color:#233044!important}.progress-bar-bg{overflow:hidden;box-shadow:inset 0 1px 3px #00000080}.progress-bar-fill{position:relative}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#fff0 0%,#fff3 50%,#fff0 100%);animation:2s linear infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.btn-icon.small{padding:4px}.btn-icon.small svg{width:14px;height:14px}.dropdown-item{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;transition:background .2s;display:flex}.dropdown-item:hover{background:#ffffff1a}@media (width<=480px){.hide-on-mobile{display:none!important}}
