:root{--bg-deep: #f3faf3;--bg-main: #f8fdf8;--bg-sidebar: linear-gradient(180deg, #e8f5e9 0%, #c8e6c9 100%);--bg-card: rgba(255, 255, 255, .9);--primary: #16a34a;--primary-light: #22c55e;--primary-glow: rgba(22, 163, 74, .18);--accent: #14532d;--accent-soft: rgba(22, 163, 74, .12);--accent-blue: #2563eb;--accent-pink: #db2777;--accent-orange: #ea580c;--accent-teal: #0d9488;--text-main: #0f1f0f;--text-muted: #1e4020;--text-dim: #3d6b40;--success: #15803d;--warning: #b45309;--danger: #b91c1c;--info: #1d4ed8;--border: rgba(20, 83, 45, .1);--border-bright: rgba(22, 163, 74, .28);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 28px;--shadow-sm: 0 2px 8px rgba(0, 60, 0, .07);--shadow-md: 0 8px 24px rgba(0, 60, 0, .1);--shadow-lg: 0 24px 48px rgba(0, 60, 0, .14);--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, sans-serif}[data-theme=dark] body{background:var(--bg-deep);color:var(--text-main)}[data-theme=dark] .sidebar{background:var(--bg-sidebar);border-right-color:#22c55e26}[data-theme=dark] .nav-item:hover{background:#22c55e1a}[data-theme=dark] .nav-item.active{background:#22c55e26;color:var(--primary-light)}[data-theme=dark] .glass-panel,[data-theme=dark] .job-card{background:var(--bg-card);border-color:var(--border)}[data-theme=dark] .main-content{background:var(--bg-deep)}[data-theme=dark] .modal-overlay{background:#000000b3}[data-theme=dark] .modal-content{background:#162816;color:var(--text-main)}[data-theme=dark] .form-control,[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#0f1f0f;border-color:var(--border);color:var(--text-main)}[data-theme=dark] .data-table th{background:#0a1f0b;color:var(--text-muted)}[data-theme=dark] .data-table td{border-color:var(--border)}[data-theme=dark] .data-table tr:hover{background:#22c55e0d}[data-theme=dark] .bottom-nav{background:#0c1a0cf2;border-top-color:var(--border)}[data-theme=dark] .bottom-nav-item.active{color:var(--primary-light);background:#22c55e26}.theme-toggle{background:none;border:1px solid var(--border);border-radius:8px;padding:.3rem .5rem;cursor:pointer;font-size:1rem;line-height:1;transition:all .2s}.theme-toggle:hover{background:var(--accent-soft);border-color:var(--border-bright)}[data-theme=dark] [style*="background:rgba(255,255,255"]{background:#142814e6!important}[data-theme=dark] [style*="background:#fff"],[data-theme=dark] [style*="background: #fff"]{background:#162816!important}[data-theme=dark] [style*="background:linear-gradient(135deg,#f0fdf4"]{background:linear-gradient(135deg,#0c1a0c,#162816)!important}[data-theme=dark] [style*="background:rgba(255,255,255,0.95)"]{background:#0c1a0cf2!important}[data-theme=dark] [style*="background:rgba(255,255,255,0.85)"]{background:#0c1a0cd9!important}[data-theme=dark] [style*="background:#22c55e06"]{background:#22c55e0f!important}[data-theme=dark] [style*="color:var(--text-main)"]{color:var(--text-main)!important}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;max-width:100vw;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--bg-deep);color:var(--text-main);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-size:1.1rem;max-width:100vw;width:100%}img,video,canvas,svg{max-width:100%;height:auto}input,select,textarea,button{max-width:100%;box-sizing:border-box}#app{display:grid;grid-template-columns:270px 1fr;height:100vh;background:var(--bg-deep)}.sidebar{background:linear-gradient(180deg,#e8f5e9,#c8e6c9);border-right:1.5px solid rgba(22,163,74,.18);display:flex;flex-direction:column;padding:1.75rem 1.25rem;z-index:10;overflow-y:auto}.sidebar-brand{font-size:1rem;font-weight:900;letter-spacing:2px;color:var(--primary);margin-bottom:2rem;display:flex;align-items:center;gap:.75rem}.sidebar-brand:before{content:"";width:14px;height:14px;background:var(--primary);border-radius:3px;box-shadow:0 0 14px var(--primary-glow);flex-shrink:0}.sidebar-nav{display:flex;flex-direction:column;gap:.15rem;flex:1}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem;border-radius:var(--radius-md);cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-muted);transition:all .18s ease;position:relative}.nav-item .icon{font-size:1.05rem;width:20px}.nav-item:hover{background:#16a34a1a;color:var(--accent)}.nav-item.active{background:#16a34a24;color:var(--primary);font-weight:700}.nav-item.active:after{content:"";position:absolute;left:-1.25rem;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--primary);border-radius:0 4px 4px 0}.main-content{overflow-y:auto;padding:1.5rem 2.25rem;background:var(--bg-main);background-image:radial-gradient(ellipse at 20% 0%,rgba(22,163,74,.04) 0%,transparent 50%),radial-gradient(ellipse at 85% 90%,rgba(22,163,74,.03) 0%,transparent 45%)}.view-header{margin-bottom:2rem}.view-title{font-size:2.1rem;font-weight:800;letter-spacing:-1px;color:var(--text-main);margin-bottom:.3rem}.glass-panel{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s}.glass-panel:hover{border-color:var(--border-bright);box-shadow:var(--shadow-md)}.month-picker{display:flex;align-items:center;gap:.75rem;padding:.4rem .9rem;width:fit-content;border-radius:100px;background:#fff9;border:1px solid var(--border)}.month-tabs{display:flex;gap:.2rem}.month-tab{padding:.35rem .85rem;border-radius:100px;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--text-dim);transition:all .18s}.month-tab:hover{color:var(--text-main);background:#16a34a14}.month-tab.active{background:var(--primary);color:#fff}.picker-btn{background:transparent;border:none;color:var(--text-dim);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:all .18s;font-size:1rem}.picker-btn:hover{background:var(--primary-glow);color:var(--primary)}.year-label{font-size:.95rem;font-weight:800;color:var(--primary)}.job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem}.job-card.swipe-container{border:none;box-shadow:none;background:transparent;padding:0}.job-card:not(.swipe-container){cursor:pointer;padding:1.25rem;display:flex;flex-direction:column;gap:.875rem;background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}.job-card:not(.swipe-container):hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-bright)}.swipe-container .swipe-content{cursor:pointer;display:flex;flex-direction:column;gap:.875rem;border:1.5px solid var(--border);box-shadow:var(--shadow-sm);transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s,border-color .2s!important}.swipe-container:hover .swipe-content{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--border-bright)}.job-card-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.job-card-title{font-size:1.15rem;font-weight:800;letter-spacing:-.3px;color:var(--text-main);margin-bottom:.2rem;line-height:1.3}.job-date{font-size:.88rem;color:var(--text-dim);font-weight:500}.job-status-pill{padding:.3rem .75rem;border-radius:7px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;border:1px solid transparent;white-space:nowrap}.status-đã-hoàn-thành{background:#15803d14;border-color:#15803d33;color:#15803d}.status-nhận-feedback{background:#2563eb14;border-color:#2563eb33;color:#2563eb}.status-chưa-gửi{background:#b4530914;border-color:#b4530933;color:#b45309}.status-đang-edit{background:#db277714;border-color:#db277733;color:#db2777}.job-card .detail-item{display:flex;align-items:center;gap:.6rem;font-size:.92rem;color:var(--text-muted)}.job-id-badge{background:var(--accent-soft);border:1px solid rgba(22,163,74,.25);color:var(--primary);font-size:.72rem;font-weight:800;padding:.2rem .65rem;border-radius:6px}.monthly-report{background:#ffffffb3;border:1.5px solid var(--border-bright)}.modal-overlay{position:fixed;inset:0;background:#0a190a99;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .35s cubic-bezier(.16,1,.3,1)}.modal-overlay.active{opacity:1;visibility:visible}.modal-container{width:min(1020px,97vw);max-height:94vh;background:#fafcfa;border-radius:var(--radius-xl);border:1.5px solid var(--border-bright);box-shadow:0 32px 80px #0028002e;transform:scale(.95) translateY(24px);transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;overflow:hidden}.modal-overlay.active .modal-container{transform:scale(1) translateY(0)}.modal-header{padding:1.75rem 2rem 1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f0faf0,#fafcfa)}.modal-header h2{font-size:1.55rem;font-weight:800;letter-spacing:-.5px;color:var(--text-main)}.close-btn{background:#0000000d;border:1px solid var(--border);color:var(--text-dim);width:38px;height:38px;border-radius:50%;font-size:1.35rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s}.close-btn:hover{background:#dc262614;border-color:#dc262640;color:var(--danger)}.modal-body{padding:1.5rem 2rem 2rem;overflow-y:auto;flex:1;max-height:calc(94vh - 90px)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:.5rem}.form-control{width:100%;background:#fff;border:1.5px solid var(--border);padding:.7rem 1rem;border-radius:var(--radius-md);color:var(--text-main);font-family:inherit;font-size:1rem;transition:border-color .18s,box-shadow .18s}.form-control:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #16a34a1f}.btn{padding:.72rem 1.5rem;border-radius:var(--radius-md);font-weight:700;font-size:.95rem;cursor:pointer;transition:all .18s;display:inline-flex;align-items:center;gap:.5rem;border:1.5px solid transparent;line-height:1}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:#15803d;transform:translateY(-1px);box-shadow:0 4px 16px #16a34a4d}.btn-secondary{background:#fff;border:1.5px solid var(--border);color:var(--text-main)}.btn-secondary:hover{background:#16a34a0f;border-color:var(--border-bright)}.btn-sm{padding:.4rem .9rem;font-size:.82rem;border-radius:var(--radius-sm)}.data-table{width:100%;border-collapse:separate;border-spacing:0 .35rem}.data-table th{padding:.75rem 1rem;text-align:left;font-size:.72rem;font-weight:800;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.data-table td{padding:1rem;background:#ffffffd9;font-size:.95rem;color:var(--text-main);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.data-table tr td:first-child{border-radius:8px 0 0 8px;border-left:1px solid var(--border)}.data-table tr td:last-child{border-radius:0 8px 8px 0;border-right:1px solid var(--border)}.stat-card{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.stat-card .label{font-size:.72rem;font-weight:800;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px}.stat-card .value{font-size:2rem;font-weight:900;letter-spacing:-1px;line-height:1;color:var(--text-main)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:.75rem}.progress-container{width:100%;height:4px;background:#0064000f;border-radius:2px;overflow:hidden}.progress-bar{height:100%;background:var(--primary)}.profit-estimate label{display:block;font-size:.65rem;color:var(--text-dim);text-transform:uppercase;font-weight:800;margin-bottom:.2rem}.profit-estimate .value{font-size:.95rem;font-weight:800}.view-detail-link{font-size:.78rem;color:var(--primary);font-weight:600;opacity:.75}.timeline-quick-toggle{display:flex;align-items:center;gap:1rem;background:#16a34a0a;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border)}.toggle-item{font-size:.78rem;color:var(--text-dim);font-weight:600}.toggle-item .time{color:var(--primary);background:var(--accent-soft);padding:.1rem .4rem;border-radius:4px;margin-left:.25rem}.day-tabs{display:flex;gap:.35rem;align-items:center;padding:.3rem;background:#00000008;border-radius:12px;overflow-x:auto;margin-bottom:.75rem}.day-tab-btn{padding:.45rem 1rem;border-radius:9px;font-size:.78rem;font-weight:700;border:1.5px solid transparent;background:transparent;color:var(--text-dim);cursor:pointer;white-space:nowrap;transition:all .2s ease;font-family:inherit}.day-tab-btn:hover{background:#16a34a0f;color:var(--text-main)}.day-tab-btn.active{background:#fff;color:var(--primary);border-color:var(--primary-light);box-shadow:0 2px 8px #16a34a1a}.day-tab-btn.add-day-btn{color:var(--primary);border:1.5px dashed var(--primary-light);background:#16a34a0a;font-size:.72rem}.day-tab-btn.add-day-btn:hover{background:#16a34a1f}.day-tab-content{display:none;animation:fadeTab .25s ease}.day-tab-content.active{display:block}@keyframes fadeTab{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.day-form-panel{background:#16a34a08;border:1.5px solid rgba(22,163,74,.1);border-radius:14px;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.day-form-panel .day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.day-form-panel .day-header h4{margin:0;font-size:.95rem;font-weight:800;color:var(--primary);display:flex;align-items:center;gap:.5rem}.day-form-panel .remove-day-btn{background:#ef444414;color:#ef4444;border:1px solid rgba(239,68,68,.2);border-radius:7px;padding:.25rem .6rem;font-size:.7rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:inherit}.day-form-panel .remove-day-btn:hover{background:#ef44442e}.multi-day-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.6rem;font-weight:800;padding:.12rem .4rem;border-radius:5px;background:#f973161a;color:#f97316;border:1px solid rgba(249,115,22,.2)}@media(max-width:900px){.day-tabs{gap:.25rem;padding:.25rem}.day-tab-btn{padding:.35rem .7rem;font-size:.72rem}.day-form-panel{padding:.75rem}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#16a34a66}.reveal{animation:revealView .4s cubic-bezier(.16,1,.3,1)}@keyframes revealView{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.empty-state{padding:4rem;text-align:center;color:var(--text-dim);border:1.5px dashed var(--border);border-radius:var(--radius-lg);background:#fff6}.color-green{color:var(--success)}.info-group label{font-size:.72rem;font-weight:700;text-transform:uppercase;color:var(--text-dim);display:block;margin-bottom:.3rem;letter-spacing:.3px}.info-group input,.info-group textarea{color:var(--text-main);background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-sm)}.info-group input:focus,.info-group textarea:focus{border-color:var(--primary-light);outline:none;box-shadow:0 0 0 3px #16a34a1a}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:6px;font-size:.72rem;font-weight:700}select.form-control{color:var(--text-main);background:#fff;cursor:pointer}@keyframes toastIn{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}tr.paid-row{background:#15803d0f!important}.service-paid-check{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.bottom-nav{display:none}@media(max-width:900px){#app{display:flex;flex-direction:column;height:100vh}.sidebar{flex:0 0 auto;border-right:none;border-bottom:1px solid var(--border);padding:1rem;overflow-x:auto}.sidebar-brand{margin-bottom:1rem;font-size:1.1rem}.sidebar-nav{flex-direction:row;flex-wrap:nowrap;gap:.5rem}.sidebar-nav>div[style*="font-size: 0.82rem"]{display:none}.nav-item{white-space:nowrap;padding:.5rem .8rem;flex-shrink:0}.nav-item.active:after{display:none}.main-content{flex:1;padding:1rem}.view-title{font-size:1.6rem}.job-grid,.staff-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.job-card{padding:.8rem;gap:.6rem;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 1px 3px #00000014}.job-card-title{font-size:1rem;font-weight:700;margin-bottom:.15rem;line-height:1.2;letter-spacing:normal}.data-table{display:block;overflow-x:auto;white-space:nowrap}.sidebar{display:none!important}.main-content{padding-bottom:85px!important;height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.bottom-nav{display:flex;justify-content:space-around;align-items:center;position:fixed;bottom:0;left:0;width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(0,0,0,.06);padding:.5rem 0 calc(.5rem + env(safe-area-inset-bottom,12px)) 0;z-index:9999;box-shadow:0 -4px 20px #00000008}.mobile-fab{position:fixed;bottom:calc(85px + env(safe-area-inset-bottom,12px));right:20px;width:60px;height:60px;background:var(--primary);color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 6px 20px #16a34a66;border:none;z-index:9998;cursor:pointer;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.mobile-fab:active{transform:scale(.85)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-dim);text-decoration:none;font-size:.65rem;font-weight:700;min-width:45px;padding:4px;border-radius:10px;transition:all .2s}.bottom-nav-item .icon{font-size:1.25rem;margin-bottom:2px}.bottom-nav-item.active{color:var(--primary);background:#f973161a}.bottom-nav-item.active .icon{transform:scale(1.15)}body,html,#app{overflow-x:hidden;width:100%;max-width:100vw}.sidebar{width:100%;max-width:100vw;box-sizing:border-box;-webkit-overflow-scrolling:touch}.sidebar-nav{overflow-x:auto;padding-bottom:5px}.month-picker,.btn-group,[style*="display: flex; gap: 0.5rem; flex-wrap: wrap"]{flex-wrap:wrap;justify-content:center}[style*="grid-template-columns: repeat(5, 1fr)"],[style*="grid-template-columns: repeat(4, 1fr)"],[style*="grid-template-columns: repeat(3, 1fr)"],[style*="grid-template-columns: 1fr 1fr 1fr 1fr"]{grid-template-columns:1fr 1fr!important;gap:.75rem!important}.view-header>div,.section-header>div,[style*="display: flex; justify-content: space-between"]{flex-direction:column;align-items:stretch!important;gap:10px}[style*="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem"],[style*="display: grid; grid-template-columns: 1fr 1.5fr 1fr 0.8fr 0.3fr"],[style*="display: flex; gap: 1rem;"]{grid-template-columns:1fr!important;flex-direction:column!important}.modal-body,.monthly-report{overflow-x:auto!important;-webkit-overflow-scrolling:touch;width:100%;padding-left:.5rem;padding-right:.5rem}.modal-overlay{align-items:flex-end!important;padding:0!important}.modal-container{width:100%!important;max-width:100%!important;max-height:90vh!important;border-radius:20px 20px 0 0!important;transform:translateY(100%);margin:0!important;border:none!important;padding-bottom:env(safe-area-inset-bottom,20px)!important}.modal-overlay.active .modal-container{transform:translateY(0)!important}.modal-header:before{content:"";display:block;width:40px;height:5px;background:var(--border-bright);border-radius:10px;margin:0 auto .5rem}.modal-header{padding-top:1rem!important}.data-table{display:block;width:100%;min-width:0!important}.data-table thead{display:none}.data-table tbody,.data-table tr{display:block;width:100%}.data-table tr{margin-bottom:.8rem;border:1px solid var(--border);border-radius:12px;padding:.6rem;background:#fff;box-shadow:0 4px 15px #00000008}.data-table td{display:flex;justify-content:space-between;align-items:center;padding:.25rem .15rem!important;border:none!important;text-align:right!important;white-space:pre-wrap!important;font-size:.75rem}.data-table td:before{content:attr(data-label);font-size:.75rem;font-weight:700;color:var(--text-dim);margin-right:1rem;text-align:left;white-space:nowrap;text-transform:uppercase}.table-responsive-wrapper{overflow-x:hidden;width:100%}.glass-panel{padding:.4rem!important}.view-container{padding:.2rem}.kanban-column,.ep-col,.ev-col{padding-top:0!important}.kanban-column>div:first-child,.ep-col>div:first-child,.ev-col>div:first-child{position:sticky;top:0;z-index:20;padding-top:.5rem;background:inherit}.ep-kanban-card>div:nth-child(4),.ep-kanban-card>div:nth-child(5),.ep-kanban-card>div:nth-child(6){display:none!important}.kanban-card,.ep-card,.ep-kanban-card{padding:.4rem!important}@media(max-width:400px){html{font-size:12px}.bottom-nav-item{min-width:35px;padding:2px;font-size:.55rem}.job-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.5rem}.job-card{padding:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem}.job-card-title{font-size:.9rem;margin-bottom:.1rem}.view-container,.glass-panel{padding:.15rem}.data-table td{padding:.2rem .1rem!important;font-size:.7rem}.stats-grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}.action-bar{gap:.2rem}.modal-body,.modal-footer{padding:.2rem}.modal-header{font-size:.9rem}.modal-content{font-size:.85rem}.accordion-header{font-size:.9rem;padding:.3rem}.accordion-content{font-size:.85rem;padding:.2rem .3rem}}.accordion{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.5rem;background:#fff}.accordion-header{cursor:pointer;padding:.5rem;background:var(--bg-light);font-weight:600}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 .5rem}.accordion-content.open{max-height:500px;padding:.5rem}.kanban-ghost{opacity:.4}.kanban-drag{opacity:.9;transform:rotate(2deg)}.kanban-card:hover{border-color:var(--primary)!important;box-shadow:0 2px 8px var(--primary-glow)}[style*="position:sticky"][style*="z-index:100"]{flex-wrap:wrap!important;padding:.4rem .75rem!important;gap:.4rem!important}[style*="position:sticky"][style*="z-index:100"]>div{flex-wrap:wrap!important;gap:.3rem!important}[style*="font-size:0.75rem"][style*="font-weight:800"]{flex-wrap:wrap!important}[style*="font-size:0.78rem"][style*="font-weight:800"]{font-size:.65rem!important}[style*="max-width:1400px"]{padding:.5rem .6rem!important}[style*="margin-bottom:0.85rem"][style*="gap:0.35rem"]{gap:.2rem!important}[style*="margin-bottom:0.85rem"][style*="gap:0.35rem"]>div{padding:.2rem!important}[style*="margin-bottom:0.85rem"][style*="gap:0.35rem"]>div span[style*="font-size:0.9rem"]{font-size:.7rem!important}[style*="margin-bottom:0.85rem"][style*="gap:0.35rem"]>div div[style*="font-size:0.58rem"]{font-size:.45rem!important}[style*="border-radius:14px"][style*="padding:0.85rem"]{padding:.5rem .6rem!important}[style*="border-radius:14px"]>div[style*="justify-content:space-between"]{flex-wrap:wrap!important;gap:.3rem!important}[style*="border-radius:14px"]>div[style*="gap:0.5rem"][style*="margin-bottom:0.5rem"]{flex-direction:column!important;gap:.3rem!important}[style*="border-radius:10px"][style*="padding:0.6rem"]{padding:.4rem!important}[style*="border-radius:10px"][style*="padding:0.6rem"]>div[style*="flex-wrap:wrap"]{gap:.3rem!important}[style*="border-radius:10px"][style*="padding:0.6rem"]>div[style*="flex-wrap:wrap"]>div[style*="display:flex"][style*="gap:0.4rem"]:last-child{flex-wrap:wrap!important;width:100%!important;justify-content:flex-start!important;gap:.3rem!important}[style*="padding-left:42px"]{padding-left:8px!important;flex-wrap:wrap!important}[style*="padding-left:42px"]>div[style*="gap:0.25rem"]{flex-wrap:wrap!important}[style*="padding-left:42px"][style*="gap:0.4rem"]{flex-direction:column!important;gap:.25rem!important;padding-left:8px!important}.ep-editor-select,.ep-status-select{width:100%!important;min-width:80px!important;font-size:.8rem!important;padding:.3rem!important}.ep-drive-input,.ep-note-input,.ep-footage-input,.ep-nas-input{font-size:.8rem!important;padding:.35rem .5rem!important;min-height:36px!important}.ep-done-btn{padding:.4rem .8rem!important;font-size:.8rem!important;min-height:36px!important;margin-top:0!important}[style*="padding-left:42px"] label,[style*="padding-left:8px"] label{padding:.25rem .4rem!important;font-size:.78rem!important;min-height:32px!important}body{-webkit-text-size-adjust:100%}#app{width:100%!important;max-width:100vw!important}.main-content{width:100%!important;max-width:100vw!important;box-sizing:border-box!important}.bottom-nav{padding-bottom:calc(.4rem + env(safe-area-inset-bottom,8px))!important}}@media(max-width:480px){[style*="position:sticky"][style*="z-index:100"]{flex-direction:column!important;align-items:flex-start!important;gap:.3rem!important}[style*="position:sticky"][style*="z-index:100"]>div:last-child{width:100%!important;justify-content:space-between!important;flex-wrap:wrap!important}[style*="border-radius:10px"][style*="padding:0.6rem"]>div[style*="flex-wrap:wrap"]:first-child{flex-direction:column!important;align-items:flex-start!important}[style*="border-radius:10px"] div[style*="text-align:center"]{text-align:left!important}.ep-editor-select,.ep-status-select{width:100%!important}[style*="width:36px"][style*="height:36px"][style*="border-radius:10px"]{width:28px!important;height:28px!important;font-size:.75rem!important}}@keyframes revealUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.view-container.reveal{animation:revealUp .45s cubic-bezier(.16,1,.3,1) both}@keyframes cardReveal{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.job-grid>.job-card,.job-grid>.swipe-container{animation:cardReveal .4s cubic-bezier(.16,1,.3,1) both}.job-grid>:nth-child(1){animation-delay:.04s}.job-grid>:nth-child(2){animation-delay:.08s}.job-grid>:nth-child(3){animation-delay:.12s}.job-grid>:nth-child(4){animation-delay:.16s}.job-grid>:nth-child(5){animation-delay:.2s}.job-grid>:nth-child(6){animation-delay:.24s}.job-grid>:nth-child(7){animation-delay:.28s}.job-grid>:nth-child(8){animation-delay:.32s}.job-grid>:nth-child(n+9){animation-delay:.36s}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.year-chart-bar{transform-origin:bottom;animation:barGrow .6s cubic-bezier(.34,1.56,.64,1) both}@keyframes statSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stat-animate{animation:statSlideIn .5s cubic-bezier(.16,1,.3,1) both}.stat-animate:nth-child(1){animation-delay:.05s}.stat-animate:nth-child(2){animation-delay:.1s}.stat-animate:nth-child(3){animation-delay:.15s}.stat-animate:nth-child(4){animation-delay:.2s}.stat-animate:nth-child(5){animation-delay:.25s}.btn{position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 60%);opacity:0;transition:opacity .25s}.btn-primary:hover:after{opacity:1}.nav-item{transition:all .22s cubic-bezier(.16,1,.3,1)}.nav-item:hover{transform:translate(3px)}.nav-item.active{background:linear-gradient(135deg,#16a34a24,#16a34a0f)}.nav-item.active:after{transition:height .3s cubic-bezier(.16,1,.3,1);box-shadow:0 0 8px var(--primary-glow)}.glass-panel{transition:border-color .25s,box-shadow .25s,transform .25s cubic-bezier(.16,1,.3,1)}.glass-panel:hover{transform:translateY(-2px)}@keyframes emptyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-state-icon{animation:emptyFloat 3s ease-in-out infinite;display:inline-block}.monthly-report{animation:revealUp .5s cubic-bezier(.16,1,.3,1) .1s both}.form-control:focus,input:focus,select:focus,textarea:focus{transition:border-color .2s,box-shadow .3s}.status-mới{animation:subtlePulse 2s ease-in-out infinite}@keyframes subtlePulse{0%,to{box-shadow:0 0 #8b5cf626}50%{box-shadow:0 0 0 4px #8b5cf614}}@media(max-width:768px){.day-service-row,.deliverable-row{display:flex!important;flex-wrap:wrap!important;gap:.5rem!important}.day-service-row>.svc-role-input,.day-service-row>div:nth-child(2){flex:1 1 calc(50% - 1.5rem)!important;min-width:100px!important}.day-service-row>button.btn.block,.deliverable-row>button.btn.block{flex:0 0 32px!important;min-width:32px!important;width:32px!important;display:flex!important;align-items:center!important;justify-content:center!important}.day-service-row>div:nth-child(3),.day-service-row>div:nth-child(4){flex:1 1 calc(50% - .5rem)!important;min-width:120px!important}.deliverable-row>.del-name-input{flex:1 1 100%!important}.deliverable-row>.del-type-input,.deliverable-row>.del-qty-input{flex:1 1 calc(50% - 1.5rem)!important;min-width:80px!important}}@media(max-width:900px){.bottom-nav{display:flex!important;position:fixed;bottom:0;left:0;right:0;z-index:9990;background:#fff;border-top:1px solid var(--border);box-shadow:0 -4px 16px #0000000f;padding:.35rem 0;justify-content:space-around;align-items:center;gap:0}.bottom-nav .nav-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.6rem;font-weight:700;color:var(--text-dim);padding:.3rem .5rem;min-height:44px;min-width:44px;justify-content:center;border-radius:8px;transition:all .2s;text-decoration:none;cursor:pointer}.bottom-nav .nav-item.active{color:var(--primary);background:var(--primary-glow)}.bottom-nav .nav-item .icon{font-size:1.2rem;line-height:1}.content-area,.view-container{padding-bottom:72px!important}}@media(max-width:768px){.projects-grid,.gear-grid{grid-template-columns:1fr!important;gap:.75rem!important}.gear-filter-bar{display:flex!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;gap:.35rem!important;padding:.5rem 0!important;flex-wrap:nowrap!important;scrollbar-width:none}.gear-filter-bar::-webkit-scrollbar{display:none}.gear-filter-bar button{white-space:nowrap;flex-shrink:0;font-size:.7rem!important;padding:.35rem .6rem!important;min-height:32px}}@media(max-width:768px){.modal-glass,.modal-overlay>div:first-child,#gear-modal-overlay>div:first-child{width:100vw!important;max-width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important;margin:0!important;overflow-y:auto!important}}@media(max-width:900px){button,.btn,.nav-item,select,.fab-btn{min-height:44px}input,textarea{min-height:40px;font-size:16px!important}}@media(max-width:480px){.gear-stats{grid-template-columns:repeat(3,1fr)!important;gap:.5rem!important}.gear-stats>div{padding:.5rem!important}.gear-stats .stat-number{font-size:1.2rem!important}}@media(max-width:480px){.dash-stats{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}}@media(max-width:768px){.staff-grid{grid-template-columns:1fr!important}}#offline-indicator{position:fixed;top:0;left:0;right:0;z-index:99999;padding:.35rem 1rem;font-size:.75rem;font-weight:800;text-align:center;letter-spacing:.5px;transform:translateY(-100%);transition:transform .4s cubic-bezier(.16,1,.3,1);pointer-events:none}#offline-indicator.show{transform:translateY(0);pointer-events:auto}#offline-indicator.offline{background:linear-gradient(90deg,#dc2626,#b91c1c);color:#fff}#offline-indicator.syncing{background:linear-gradient(90deg,#d97706,#b45309);color:#fff}#offline-indicator.conflict{background:linear-gradient(90deg,#7c3aed,#6d28d9);color:#fff}#offline-indicator.online-back{background:linear-gradient(90deg,#16a34a,#15803d);color:#fff}#quick-add-fab{position:fixed;bottom:5.5rem;right:1.25rem;z-index:9000;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;border:none;font-size:1.6rem;cursor:pointer;box-shadow:0 8px 24px #16a34a73;display:flex;align-items:center;justify-content:center;transition:all .28s cubic-bezier(.16,1,.3,1);animation:fabPulse 2.5s ease-in-out infinite}#quick-add-fab:hover{transform:scale(1.12) translateY(-2px);box-shadow:0 12px 32px #16a34a8c;animation:none}@keyframes fabPulse{0%,to{box-shadow:0 8px 24px #16a34a73}50%{box-shadow:0 8px 32px #16a34aa6,0 0 0 8px #16a34a1f}}#notif-drawer-overlay{position:fixed;inset:0;background:#00000059;z-index:9800;opacity:0;visibility:hidden;transition:all .3s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#notif-drawer-overlay.open{opacity:1;visibility:visible}#notif-drawer{position:fixed;top:0;right:0;bottom:0;width:min(380px,95vw);background:var(--bg-card);border-left:1.5px solid var(--border);z-index:9801;transform:translate(100%);transition:transform .38s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;box-shadow:-8px 0 40px #00000026}#notif-drawer.open{transform:translate(0)}.notif-drawer-header{padding:1.25rem 1.25rem .75rem;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#f0faf0,transparent);display:flex;align-items:center;justify-content:space-between}.notif-drawer-body{flex:1;overflow-y:auto;padding:.5rem 0}.notif-drawer-item{padding:.75rem 1.25rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s;display:flex;gap:.75rem;align-items:flex-start}.notif-drawer-item:hover{background:#16a34a0d}.notif-drawer-item.unread{background:#3b82f60a}.notif-drawer-item .notif-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;margin-top:.1rem}.notif-drawer-tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg-main)}.notif-tab{flex:1;padding:.6rem;font-size:.72rem;font-weight:700;text-align:center;cursor:pointer;color:var(--text-dim);border-bottom:2px solid transparent;transition:all .2s}.notif-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:#16a34a0d}#team-chat-drawer{position:fixed;bottom:0;right:1.25rem;width:320px;max-height:480px;background:var(--bg-card);border:1.5px solid var(--border);border-bottom:none;border-radius:16px 16px 0 0;z-index:8900;display:flex;flex-direction:column;box-shadow:0 -8px 32px #0000001f;transform:translateY(calc(100% - 48px));transition:transform .35s cubic-bezier(.16,1,.3,1)}#team-chat-drawer.open{transform:translateY(0)}.chat-drawer-header{padding:.75rem 1rem;background:linear-gradient(135deg,var(--primary),#22c55e);color:#fff;border-radius:14px 14px 0 0;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:.85rem;font-weight:800}.chat-messages{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;background:#fafcfa}.chat-msg{max-width:80%;padding:.45rem .75rem;border-radius:12px;font-size:.78rem;line-height:1.4}.chat-msg.mine{align-self:flex-end;background:var(--primary);color:#fff;border-radius:12px 12px 2px}.chat-msg.other{align-self:flex-start;background:#0000000f;color:var(--text-main);border-radius:12px 12px 12px 2px}.chat-msg .msg-sender{font-size:.62rem;font-weight:800;opacity:.7;margin-bottom:.15rem}.chat-input-row{display:flex;gap:.5rem;padding:.5rem .75rem;border-top:1px solid var(--border);background:#fff}.chat-input-row input{flex:1;border:1.5px solid var(--border);border-radius:20px;padding:.4rem .75rem;font-size:.8rem;font-family:inherit;outline:none;background:var(--bg-main)}.chat-input-row input:focus{border-color:var(--primary)}.chat-send-btn{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s}.chat-send-btn:hover{background:#15803d;transform:scale(1.1)}.lead-pipeline{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem}.lead-column{min-width:220px;background:#fff9;border:1px solid var(--border);border-radius:14px;padding:1rem}.lead-column-title{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between}.lead-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:.65rem .75rem;margin-bottom:.5rem;cursor:pointer;transition:all .2s;font-size:.8rem}.lead-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #16a34a1f;transform:translateY(-1px)}.schedule-grid{overflow-x:auto}.schedule-table{width:100%;border-collapse:collapse;min-width:700px}.schedule-table th{padding:.6rem 1rem;background:#16a34a14;font-size:.72rem;font-weight:900;text-transform:uppercase;border:1px solid var(--border);white-space:nowrap;text-align:center}.schedule-table td{padding:.5rem;border:1px solid var(--border);min-width:120px;vertical-align:top;font-size:.75rem}.schedule-table td .sched-job{background:#16a34a1a;border:1px solid rgba(22,163,74,.2);border-radius:6px;padding:.25rem .4rem;margin-bottom:.2rem;cursor:pointer;font-weight:700;font-size:.68rem;color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-table td .sched-conflict{background:#ef44441a;border-color:#ef44444d;color:#dc2626}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.kpi-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.25rem;text-align:center;transition:all .2s}.kpi-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-card .kpi-number{font-size:2rem;font-weight:900;line-height:1;margin-bottom:.4rem}.kpi-card .kpi-label{font-size:.68rem;font-weight:700;text-transform:uppercase;color:var(--text-dim);letter-spacing:.5px}.kpi-rank-1{color:#f59e0b}.kpi-rank-2{color:#94a3b8}.kpi-rank-3{color:#cd7c4a}.invoice-preview{background:#fff;border:1px solid var(--border);border-radius:12px;padding:2rem;max-width:600px;margin:0 auto;font-size:.85rem}.invoice-header-band{background:linear-gradient(135deg,var(--primary),#22c55e);color:#fff;padding:1.5rem 2rem;border-radius:10px;margin-bottom:1.5rem}.invoice-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.82rem}.invoice-total-row{display:flex;justify-content:space-between;padding:.75rem 0;font-weight:900;font-size:1.05rem;color:var(--primary)}.template-card{border:2px solid var(--border);border-radius:14px;padding:1rem 1.25rem;cursor:pointer;transition:all .2s;background:#fff;position:relative}.template-card:hover{border-color:var(--primary);background:#16a34a0a;transform:translateY(-2px);box-shadow:0 8px 24px #16a34a26}.template-card.selected{border-color:var(--primary);background:#16a34a0f}.template-card .template-badge{position:absolute;top:-8px;right:12px;background:var(--primary);color:#fff;font-size:.6rem;font-weight:900;padding:2px 8px;border-radius:10px}.ai-price-tag{display:inline-flex;align-items:center;gap:.35rem;background:linear-gradient(135deg,#7c3aed15,#6d28d915);border:1px solid rgba(124,58,237,.2);color:#7c3aed;padding:.3rem .7rem;border-radius:20px;font-size:.72rem;font-weight:800;cursor:pointer;transition:all .2s}.ai-price-tag:hover{background:linear-gradient(135deg,#7c3aed25,#6d28d925);transform:scale(1.03)}[data-theme=dark]{--bg-deep: #0a1a0a;--bg-main: #0c1f0c;--bg-card: rgba(15, 30, 15, .92);--bg-sidebar: linear-gradient(180deg, #0c1f0c 0%, #0a1a0a 100%);--text-main: #e2f4e2;--text-muted: #b0d4b0;--text-dim: #76a876;--border: rgba(34, 197, 94, .12);--border-bright: rgba(34, 197, 94, .25);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .35);--shadow-md: 0 8px 24px rgba(0, 0, 0, .45)}[data-theme=dark] body,[data-theme=dark] .main-content{background:var(--bg-deep);color:var(--text-main)}[data-theme=dark] .glass-panel,[data-theme=dark] .job-card:not(.swipe-container),[data-theme=dark] .swipe-container .swipe-content{background:#0f1e0fd9!important;border-color:var(--border)!important}[data-theme=dark] .monthly-report{background:#0f1e0f99!important}[data-theme=dark] .form-control,[data-theme=dark] input:not([type=checkbox]):not([type=radio]),[data-theme=dark] select,[data-theme=dark] textarea{background:#0000004d!important;border-color:var(--border)!important;color:var(--text-main)!important}[data-theme=dark] .btn-secondary{background:#16a34a1a!important;color:var(--primary-light)!important}[data-theme=dark] .template-card,[data-theme=dark] .lead-card,[data-theme=dark] .kpi-card,[data-theme=dark] .invoice-preview{background:#0f1e0fb3!important}[data-theme=dark] .chat-messages{background:#0c1f0c}[data-theme=dark] .chat-msg.other{background:#ffffff14;color:var(--text-main)}[data-theme=dark] #notif-drawer{background:var(--bg-main)}[data-theme=dark] #team-chat-drawer{background:var(--bg-main);border-color:var(--border)}@media(min-width:901px){#quick-add-fab{display:none}#team-chat-drawer{right:2rem}}
