*{box-sizing:border-box;margin:0;padding:0}body{color:#1f2937;background-color:#f3f4f6;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden}.app-container{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{z-index:10;background-color:#fff;border-right:1px solid #f1f5f9;flex-direction:column;width:440px;display:flex;box-shadow:4px 0 24px #00000005}.sidebar-header{color:#0f172a;background-color:#fff;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:24px 30px;display:flex}.sidebar-header h1{letter-spacing:-.5px;font-size:1.3rem;font-weight:800}.print-btn{color:#fff;cursor:pointer;background-color:#0f172a;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 12px #0f172a26}.print-btn:hover{background-color:#1e293b;transform:translateY(-1px);box-shadow:0 6px 16px #0f172a33}.form-container{flex-direction:column;flex:1;gap:24px;padding:30px;display:flex;overflow-y:auto}.form-container::-webkit-scrollbar{width:6px}.form-container::-webkit-scrollbar-track{background:0 0}.form-container::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:10px}.form-container::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#475569;font-size:.85rem;font-weight:600}.form-group input,.form-group textarea,.form-group select{color:#1e293b;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:12px 16px;font-family:inherit;font-size:.95rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{background-color:#fff;border-color:#3b82f6;outline:none;box-shadow:0 0 0 4px #3b82f61a}.form-group textarea{resize:vertical;min-height:100px;line-height:1.5}.form-section-title{text-transform:uppercase;letter-spacing:1.5px;color:#64748b;border-bottom:1px solid #e2e8f0;margin-top:15px;padding-bottom:8px;font-size:.85rem;font-weight:800}.preview-container{background-color:#e2e8f0;flex-direction:column;flex:1;align-items:center;gap:50px;padding:50px;display:flex;overflow-y:auto}.a4-page{color:#000;background-color:#fff;flex-direction:column;flex-shrink:0;width:210mm;height:297mm;font-family:Arial,sans-serif;display:flex;position:relative;box-shadow:0 10px 30px #0003}.page-content{flex-direction:column;flex:1;padding:25mm;display:flex}.document-header{justify-content:space-between;align-items:flex-start;margin-bottom:30px;display:flex}.logo-placeholder{letter-spacing:2px;border:1px solid #000;padding:10px 15px;font-size:24px;font-weight:900;line-height:1;display:inline-block}.logo-placeholder img{object-fit:contain;max-width:150px;max-height:60px}.header-address{color:#666;text-align:right;flex-direction:column;gap:4px;font-size:10px;display:flex}.header-address span{justify-content:flex-end;align-items:center;gap:6px;display:flex}.document-title{text-align:center;text-transform:uppercase;margin:20px 0 30px;font-size:20px;font-weight:800}.section{margin-bottom:20px}.section-title{margin-bottom:8px;font-size:14px;font-weight:700}.section-content,.section-text{white-space:pre-wrap;font-size:13px;line-height:1.5}.parties-section{margin-bottom:25px;font-size:13px;font-weight:600;line-height:1.6}.footer-bar{background-color:#d1c7bc;width:100%;height:25px;position:absolute;bottom:0;left:0}.signatures-container{justify-content:space-between;margin-top:40px;display:flex}.signature-block{width:45%;font-size:13px;line-height:1.8}.signature-line{text-align:center;border-bottom:1px solid #000;width:150px;margin-left:5px;padding-bottom:2px;line-height:1;display:inline-block}.page-2-footer{color:#555;text-align:right;font-size:10px;line-height:1.8;position:absolute;bottom:40px;right:25mm}.page-2-footer div{justify-content:flex-end;align-items:center;gap:8px;display:flex}.image-upload{display:inline-block;position:relative;overflow:hidden}.image-upload input[type=file]{opacity:0;cursor:pointer;font-size:100px;position:absolute;top:0;left:0}.upload-btn{color:#4b5563;cursor:pointer;background-color:#f3f4f6;border:1px dashed #9ca3af;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;font-weight:500;display:inline-flex}.upload-btn:hover{background-color:#e5e7eb}@media print{@page{margin:0;size:A4 portrait}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.sidebar,.nav-sidebar,.no-print{display:none!important}body,html,#root,.main-layout,.main-content,.tab-pane-container,.preview-container{background:#fff!important;width:100%!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.a4-page{box-shadow:none!important;page-break-after:auto!important;width:100%!important;height:auto!important;margin:0!important;position:static!important}.page-content{padding-bottom:120px!important}.page-2-footer{z-index:1000;position:fixed!important;bottom:40px!important;right:25mm!important}.footer-bar{z-index:1000;width:100%!important;position:fixed!important;bottom:0!important;left:0!important}}.main-layout{background-color:#f3f4f6;width:100vw;height:100vh;display:flex;overflow:hidden}.nav-sidebar{z-index:20;background-color:#111827;border-right:1px solid #374151;flex-direction:column;align-items:center;width:70px;padding-top:20px;display:flex}.nav-logo{color:#fff;letter-spacing:1px;margin-bottom:40px;font-size:1.2rem;font-weight:800}.nav-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:15px;transition:all .2s;display:flex}.nav-btn:hover{color:#fff;background-color:#1f2937}.nav-btn.active{color:#fff;background-color:#3b82f6}.main-content{flex:1;display:flex;overflow:hidden}.tab-pane-container{width:100%;height:100%;display:flex;overflow:hidden}.paid-stamp{color:#22c55e66;z-index:10;pointer-events:none;text-transform:uppercase;letter-spacing:5px;border:8px solid #22c55e66;border-radius:10px;padding:10px 30px;font-size:60px;font-weight:900;position:absolute;top:150px;right:100px;transform:rotate(-15deg)}.project-manager-root{background-color:#f8fafc}.add-project-btn{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;font-weight:600;display:flex}.search-bar-container{border-bottom:1px solid #f1f5f9;padding:15px 25px}.search-wrapper{color:#64748b;background-color:#f1f5f9;border-radius:10px;align-items:center;gap:10px;padding:8px 15px;display:flex}.search-wrapper input{background:0 0;border:none;outline:none;width:100%;font-size:.9rem}.project-list-items{flex-direction:column;flex:1;gap:10px;padding:15px;display:flex;overflow-y:auto}.project-list-card{cursor:pointer;background-color:#0000;border:1px solid #0000;border-radius:12px;padding:15px;transition:all .2s}.project-list-card:hover{background-color:#f1f5f9}.project-list-card.active{background-color:#eff6ff;border-color:#bfdbfe}.proj-card-main h3{color:#1e293b;margin-bottom:4px;font-size:.95rem;font-weight:700}.proj-card-main p{color:#64748b;font-size:.8rem}.proj-card-status{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.status-badge{text-transform:uppercase;border-radius:6px;padding:4px 8px;font-size:.7rem;font-weight:800}.status-badge.ongoing{color:#166534;background-color:#dcfce7}.status-badge.completed{color:#1e40af;background-color:#dbeafe}.status-badge.on-hold{color:#92400e;background-color:#fef3c7}.mini-progress-bar{background-color:#e2e8f0;border-radius:10px;width:60px;height:6px;overflow:hidden}.mini-progress-bar .fill{background-color:#3b82f6;height:100%}.management-content{background-color:#fff;flex:1;overflow-y:auto}.dashboard-welcome{color:#64748b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:15px;height:100%;display:flex}.dashboard-welcome h2{color:#1e293b;margin-top:20px;font-size:1.5rem}.project-detail-container{max-width:1200px;margin:0 auto;padding:40px}.detail-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:40px;padding-bottom:25px;display:flex}.header-left{align-items:center;gap:20px;display:flex}.proj-icon{color:#fff;background-color:#1e293b;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.proj-title-stack h1{color:#0f172a;font-size:1.8rem;font-weight:800}.proj-title-stack p{color:#64748b;font-weight:500}.header-right{gap:10px;display:flex}.icon-action-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-weight:600;transition:all .2s;display:flex}.icon-action-btn:hover{background-color:#f8fafc;border-color:#cbd5e1}.icon-action-btn.danger:hover{color:#ef4444;background-color:#fef2f2;border-color:#fecaca}.icon-action-btn.save{color:#fff;background-color:#16a34a;border:none}.detail-grid{grid-template-columns:1.5fr 1fr;gap:30px;display:grid}.detail-col{flex-direction:column;gap:25px;display:flex}.stat-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:24px}.progress-label{color:#475569;justify-content:space-between;margin-bottom:12px;font-weight:700;display:flex}.main-range{accent-color:#3b82f6;width:100%;height:8px}.info-section h3{text-transform:uppercase;letter-spacing:1.5px;color:#64748b;align-items:center;gap:10px;margin-bottom:15px;font-size:.85rem;font-weight:800;display:flex}.params-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.param-item{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:15px}.param-item label{color:#94a3b8;margin-bottom:5px;font-size:.75rem;font-weight:700;display:block}.param-item span,.param-item select{color:#1e293b;font-size:1rem;font-weight:700}.approvals-stack{flex-direction:column;gap:15px;display:flex}.approval-item{background:#f1f5f9;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.approval-key{color:#475569;font-size:.8rem;font-weight:700}.approval-select{border:1px solid #cbd5e1;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:600}.approval-select.approved{color:#166534;background:#dcfce7}.approval-select.pending{color:#92400e;background:#fef3c7}.approval-select.rejected{color:#b91c1c;background:#fef2f2}.detail-textarea{resize:vertical;background-color:#fcfdfe;border:1px solid #e2e8f0;border-radius:16px;width:100%;min-height:200px;padding:20px;font-family:inherit;font-size:.95rem;line-height:1.6}.reminders-card{background:#fff;border:1px solid #e2e8f0;border-top:4px solid #3b82f6;border-radius:16px;padding:24px}.card-head h3{color:#1e293b;margin-bottom:20px;font-size:1.1rem;font-weight:800}.add-reminder-box{gap:10px;margin-bottom:20px;display:flex}.add-reminder-box input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex:1;padding:10px 15px}.add-reminder-box button{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.reminders-list{flex-direction:column;gap:12px;display:flex}.sub-empty{text-align:center;color:#94a3b8;padding:20px;font-size:.85rem}.reminder-item{cursor:pointer;border:1px solid #f1f5f9;border-radius:10px;padding:12px;transition:background .2s}.reminder-item:hover{background:#f8fafc}.reminder-item.completed{opacity:.6}.reminder-left{align-items:flex-start;gap:15px;display:flex}.check-box{color:#16a34a;border:2px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;margin-top:2px;display:flex}.reminder-item.completed .check-box{background:#dcfce7;border-color:#16a34a}.task-content{flex-direction:column;display:flex}.task-text{color:#1e293b;font-size:.95rem;font-weight:600}.reminder-item.completed .task-text{text-decoration:line-through}.task-date{color:#94a3b8;margin-top:2px;font-size:.75rem}.quick-summary-card{color:#fff;background:#1e293b;border-radius:16px;padding:24px}.quick-summary-card h3{text-transform:uppercase;letter-spacing:1.5px;color:#94a3b8;margin-bottom:20px;font-size:.85rem}.timeline-info{justify-content:space-between;align-items:center;display:flex}.time-point{flex-direction:column;display:flex}.time-point label{color:#64748b;margin-bottom:4px;font-size:.7rem}.time-point b.deadline{color:#fb7185}.overlay-form{background:#fff;border-radius:20px;max-width:800px;margin:40px auto;padding:40px;box-shadow:0 20px 50px #0000001a}.form-head{justify-content:space-between;margin-bottom:30px;display:flex}.form-head h2{font-size:1.5rem;font-weight:800}.form-row{gap:20px;margin-bottom:20px;display:flex}.flex-2{flex:2}.flex-1{flex:1}.form-foot{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:15px;margin-top:30px;padding-top:20px;display:flex}.save-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:10px;padding:12px 24px;font-weight:700}.cancel-btn{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px 24px;font-weight:700}.header-edit-input{border:1px solid #3b82f6;border-radius:6px;width:400px;padding:2px 10px;font-size:1.8rem;font-weight:800}
