oceanhelm 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .v-left{margin-left:20px}.vessel-card{background:white;border-radius:10px;box-shadow:0 8px 16px #0069c026;transition:all .3s ease;margin-bottom:20px;overflow:hidden;border-left:4px solid var(--accent-color)}.vessel-card:hover{transform:translateY(-5px);box-shadow:0 12px 20px #0069c033}.vessel-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;background-color:#e3f2fd;border-radius:10px;color:var(--accent-color);font-size:24px;margin-right:15px}.black{color:#000!important}.action-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:20px;color:var(--accent-color);font-size:16px;margin-right:15px;margin-top:20px;margin-bottom:10px}.delete{background-color:var(--danger)}.edit{background-color:var(--success)}.vessel-status{display:inline-block;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-active{background-color:#e8f5e9;color:#2e7d32}.status-maintenance{background-color:#fff8e1;color:#f57f17}.status-inactive{background-color:#f5f5f5;color:#757575}.page-header{margin-bottom:30px;border-bottom:1px solid #e0e0e0;padding-bottom:15px}.progress-container{margin-bottom:20px}.progress-bar{background-color:#e9ecef;border-radius:4px;height:10px;margin-top:8px}.progress-fill{background-color:#00a8e8;height:100%;border-radius:4px;transition:width .3s ease}.checklist{list-style-type:none;padding:0}.checklist-item{display:flex;align-items:center;padding:10px 0;border-bottom:1px solid #eee;cursor:pointer}.checkbox{margin-right:15px;width:20px;height:20px;border:2px solid #00a8e8;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.checkbox.checked{background-color:#00a8e8;color:#fff}.task-text{flex-grow:1}.task-text.completed{text-decoration:line-through;color:#6c757d}.status{margin-top:20px;font-weight:700;text-align:center}.reset-button{background-color:#005792;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;margin-top:20px;font-weight:700}.btn-outline-custom{color:#005792;border:2px solid #005792;background-color:transparent;padding:8px 16px;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .3s,color .3s}.btn-outline-custom:hover{background-color:#005792;color:#fff}.reset-button:hover{background-color:#003d5b}header{background-color:var(--maitprimary);color:#fff;padding:1rem;text-align:center;border-radius:5px 5px 0 0}.content{background-color:#fff;padding:20px;border-radius:0 0 5px 5px;box-shadow:0 2px 10px #0000001a}h2{color:var(--dark);margin-bottom:20px;border-bottom:2px solid var(--light);padding-bottom:10px}.form-section{display:none;animation:fadeIn .5s}.form-section.active{display:block}.form-row{margin-bottom:15px}.form-group{margin-bottom:20px}label{display:block;margin-bottom:5px;font-weight:700;color:var(--dark)}input,select,textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}.input-group{display:flex;gap:10px}.input-group>div{flex:1}textarea{height:120px;resize:vertical}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:700;transition:background-color .3s}.btn-primary{background-color:var(--maitprimary);color:#fff}.btn-primary:hover{background-color:var(--dark)}.btn-success{background-color:var(--success);color:#fff}.btn-success:hover{background-color:#219653}.action-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.status-badge{display:inline-block;padding:5px 10px;border-radius:15px;font-size:14px;font-weight:700;color:#fff}.status-pending{background-color:var(--warning)}.status-progress{background-color:var(--accent)}.status-completed{background-color:var(--success)}.attachment-area{border:2px dashed #ddd;padding:20px;text-align:center;border-radius:5px;margin-bottom:20px}.file-input{display:none}.file-label{display:inline-block;padding:10px 20px;background-color:var(--accent);color:#fff;border-radius:4px;cursor:pointer;transition:background-color .3s}.file-label:hover{background-color:var(--maitsecondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.form-section h3{margin-top:30px;margin-bottom:15px;color:var(--maitsecondary)}.checkbox-group{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px}.checkbox-item{display:flex;align-items:center;gap:5px}.checkbox-item input{width:auto}.status-badge{padding:.3em .6em;border-radius:4px;color:#fff;font-weight:700;font-size:.85rem}.status-action{padding:.3em .6em;border-radius:4px;color:#fff;font-weight:700;font-size:.85rem;background-color:var(--maitprimary)}.status-badge.overdue{background-color:red}.task-table-wrapper{font-family:Inter,sans-serif;padding:1rem}.table-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}.filters{display:flex;gap:.5rem;flex-wrap:wrap}.filters button,.filters input{padding:.5rem 1rem;border-radius:6px;border:1px solid #ccc;background-color:#f5f5f5;font-weight:500;cursor:pointer}.filters button.active{background-color:#002f6c;color:#fff}.filters input{border:1px solid #bbb}.filter-badge{background-color:#eee;color:#333}.table-controls>div:last-child button{padding:.5rem 1rem;border:1px solid var(--maitprimary);border-radius:6px;background-color:#fff;color:var(--maitprimary);font-weight:600;cursor:pointer;transition:background .2s}.table-controls>div:last-child button:last-child{background-color:var(--maitprimary);color:#fff}.task-table{width:100%;border-collapse:collapse;box-shadow:0 0 0 1px #ccc}.task-table thead{background-color:var(--maitprimary);color:#fff}.task-table th,.task-table td{padding:.75rem;text-align:left;border-bottom:1px solid #eee;white-space:pre-line}.task-table tbody tr:hover{background-color:#f9f9f9}.status-badge{padding:.3em .6em;border-radius:6px;font-weight:700;font-size:.85rem;color:#fff;display:inline-block;text-align:center;min-width:90px}.status-badge.complete{background-color:#4dffd0}.status-badge.soon{background-color:orange}.status-badge.completed{background-color:#4caf50}.delete-btn{background:none;border:none;color:#dc3545;cursor:pointer;padding:6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:1;margin-left:8px;flex-shrink:0;transform:scale(1.1)}.checklist-item:hover .delete-btn{opacity:1}.delete-btn:hover{background-color:#dc3545;color:#fff;transform:scale(1.1)}.delete-btn:active{transform:scale(.95)}.print-only-container{text-align:center}.initial-print-btn{background:linear-gradient(135deg,#0066cc,#004499);color:#fff;border:none;padding:20px 40px;font-size:1.3em;border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #0066cc4d;display:flex;align-items:center;gap:15px;margin:0 auto}.initial-print-btn:hover{background:linear-gradient(135deg,#004499,#003366);transform:translateY(-3px);box-shadow:0 8px 25px #06c6}.initial-print-btn:active{transform:translateY(0)}.company-branding{margin-bottom:30px}.company-logo{font-size:3em;font-weight:700;color:#06c;margin-bottom:10px}.company-tagline{font-size:1.1em;color:#666}.report-container{display:none;max-width:900px;margin:0 auto;background:white;padding:30px;border-radius:10px;box-shadow:0 4px 15px #0000001a}.header{text-align:center;border-bottom:3px solid #0066cc;padding-bottom:20px;margin-bottom:30px}.report-logo{font-size:2.5em;font-weight:700;color:#06c;margin-bottom:10px}.report-title{font-size:1.8em;color:#333;margin:10px 0}.report-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.info-box{background:#f8f9fa;padding:15px;border-radius:8px;border-left:4px solid #0066cc}.info-box ul li{margin-left:15px}.info-label{font-weight:700;color:#06c;margin-bottom:5px}.section{margin-bottom:30px}.section-title{font-size:1.3em;font-weight:700;color:#06c;border-bottom:2px solid #e9ecef;padding-bottom:10px;margin-bottom:15px}.task-item{background:#f8f9fa;margin:15px 0;padding:20px;border-radius:8px;border-left:4px solid #28a745;box-shadow:0 2px 5px #0000001a}.task-item.pending{border-left-color:#ffc107}.task-item.overdue{border-left-color:#dc3545}.task-item.in-progress{border-left-color:#17a2b8}.task-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px;flex-wrap:wrap;gap:10px}.task-title{font-size:1.2em;font-weight:700;color:#333}.task-component{font-size:.9em;color:#666;margin-top:5px}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:.8em;font-weight:700;text-transform:uppercase}.status-completed{background:#d4edda;color:#155724}.status-pending{background:#fff3cd;color:#856404}.status-overdue{background:#f8d7da;color:#721c24}.status-in-progress{background:#d1ecf1;color:#0c5460}.task-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin:15px 0}.detail-label{font-weight:700;font-size:.85em;color:#06c;margin-bottom:3px}.detail-value{font-size:.95em;color:#333}.checklist-progress{margin-top:15px}.progress-bar{width:100%;height:20px;background:#e9ecef;border-radius:10px;overflow:hidden;margin:10px 0}.progress-fill{height:100%;background:linear-gradient(90deg,#28a745,#20c997);transition:width .3s ease}.checklist-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:10px}.checklist-item{display:flex;align-items:center;padding:8px;background:white;border-radius:5px;font-size:.9em}.checklist-icon{margin-right:8px;font-size:1.1em}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin:20px 0}.summary-card{background:white;padding:20px;border-radius:8px;text-align:center;border:2px solid #e9ecef}.summary-number{font-size:2em;font-weight:700;color:#06c}.summary-label{font-size:.9em;color:#666;margin-top:5px}.signature-section{margin-top:40px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.signature-box{padding-top:10px;text-align:center}.maintenance-type{display:inline-block;padding:4px 8px;border-radius:12px;font-size:.75em;font-weight:700;text-transform:uppercase;margin-left:10px}.type-corrective{background:#fff3cd;color:#856404}.type-preventive{background:#d4edda;color:#155724}.type-predictive{background:#d1ecf1;color:#0c5460}@media print{body{background:white;padding:0;display:block}.print-only-container{display:none!important}.report-container{display:block!important;box-shadow:none;padding:0;margin:0;max-width:none}}.a-header{background:linear-gradient(135deg,var(--dashprimary-color),var(--dashsecondary-color));color:#fff;padding:2rem 0;margin-bottom:2rem;border-radius:12px;box-shadow:0 10px 30px #3499404d}.a-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-align:center}.a-header p{text-align:center;opacity:.9;font-size:1.1rem}.a-controls{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.a-search-box{flex:1;min-width:250px;position:relative}.a-search-box input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease}.a-search-box input:focus{outline:none;border-color:var(--dashsecondary-color);box-shadow:0 0 0 3px #3499401a}.filter-select{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:white;cursor:pointer;transition:all .3s ease}.filter-select:focus{outline:none;border-color:var(--dashsecondary-color);box-shadow:0 0 0 3px #3499401a}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #3499404d}.btn-secondary{background:var(--secondary);color:var(--dark)}.btn-secondary:hover{background:#e6a200;transform:translateY(-1px);box-shadow:0 4px 12px #f4b4004d}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 4px 20px #0000000d;transition:transform .3s ease}.stat-card:hover{transform:translateY(-2px)}.stat-card h3{color:var(--gray);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.stat-card .value{font-size:2rem;font-weight:700;color:var(--dashsecondary-color)}.logs-container{background:white;border-radius:12px;box-shadow:0 4px 20px #0000000d;overflow:hidden}.logs-header{background:var(--light);padding:1.5rem;border-bottom:1px solid #e0e0e0}.logs-header h2{color:var(--dark);font-size:1.3rem;font-weight:600}.logs-table{width:100%;border-collapse:collapse}.logs-table th,.logs-table td{padding:1rem;text-align:left;border-bottom:1px solid #f0f0f0}.logs-table th{background:var(--light);font-weight:600;color:var(--dark);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.logs-table tr:hover{background:#f8f9fa}.activity-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-login{background:var(--success);color:#fff}.badge-logout{background:var(--gray);color:#fff}.badge-create{background:var(--dashprimary-color);color:#fff}.badge-update{background:var(--warning);color:#fff}.badge-delete{background:var(--danger);color:#fff}.badge-danger{color:var(--danger)}.badge-view{background:var(--maitsecondary);color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;background:var(--light)}.pagination button{padding:8px 12px;border:1px solid #e0e0e0;background:white;border-radius:6px;cursor:pointer;transition:all .3s ease}.pagination button:hover,.pagination button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.no-logs{text-align:center;padding:3rem;color:var(--gray)}.no-logs h3{font-size:1.5rem;margin-bottom:1rem}.loading{text-align:center;padding:3rem;color:var(--gray)}.spinner{border:3px solid #f3f3f3;border-top:3px solid var(--primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.a-controls{flex-direction:column;align-items:stretch}.a-search-box{min-width:100%}.stats-grid{grid-template-columns:1fr}.logs-table{font-size:.9rem}.logs-table th,.logs-table td{padding:.5rem}}.add-crew-form h2{color:#005792}.crew-section{margin-bottom:30px}.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-bottom:30px}.crew-card{background-color:#f8f9fa;border-radius:6px;padding:15px;box-shadow:0 1px 5px #00000014;border-left:4px solid #00a8e8;position:relative}.crew-card.unavailable{border-left-color:#dc3545;opacity:.8}.crew-name{font-weight:700;font-size:1.1em;margin-bottom:5px;color:#005792}.crew-role{color:#6c757d;font-size:.9em;margin-bottom:10px}.crew-certifications,.crew-availability{font-size:.85em;margin:5px 0}.certification-tag{display:inline-block;background-color:#e6f7ff;color:#005792;border-radius:4px;padding:2px 8px;margin-right:5px;margin-bottom:5px;font-size:.85em}.status-badge{position:absolute;top:15px;right:15px;font-size:.75em;padding:3px 8px;border-radius:12px;font-weight:700}.status-available{background-color:#d4edda;color:#155724}.status-unavailable{background-color:#f8d7da;color:#721c24}.status-onduty{background-color:#cce5ff;color:#004085}.action-buttons{display:flex;justify-content:space-between;margin-top:15px}.btn{padding:6px 12px;border-radius:4px;border:none;cursor:pointer;font-size:.9em;transition:background-color .2s}.btn-primary{background-color:#005792;color:#fff}.btn-primary:hover{background-color:#004675}.btn-secondary{background-color:#e9ecef;color:#495057}.btn-secondary:hover{background-color:#dde2e6}.search-filter{display:flex;margin-bottom:20px;gap:10px}.search-filter input,.search-filter select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px}.search-filter input{flex-grow:1}.search-filter select{width:30%}.add-crew-form{background-color:#f8f9fa;padding:20px;border-radius:6px;margin-top:30px}.form-row{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.form-group{flex:1;min-width:200px}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:#495057}.text-danger{color:red;font-weight:bolder}.text-warning{color:orange;font-weight:bolder}.text-success{color:green;font-weight:bolder}.icon{font-size:20px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px;border:1px solid #ced4da;border-radius:4px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.no-results{text-align:center;padding:20px;color:#6c757d}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.vcard{border-radius:6px;padding:5px}.s-container{max-width:1200px;margin:0 auto;background:rgba(255,255,255,.95);border-radius:20px;box-shadow:0 25px 50px #00000040;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:20px}.header h1{font-size:2.5rem;margin-bottom:10px;position:relative;z-index:1}.header p{font-size:1.1rem;opacity:.9;position:relative;z-index:1}.nav-tabs{display:flex;background:#f8fafc;border-bottom:2px solid #e2e8f0;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.nav-tabs::-webkit-scrollbar{height:6px}.nav-tabs::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.nav-tabs::-webkit-scrollbar-track{background:transparent}.nav-tab{flex:1;padding:15px 20px;background:none;border:none;cursor:pointer;font-size:1rem;font-weight:600;color:#64748b;transition:all .3s ease;position:relative}.nav-tab:hover{background:#e2e8f0;color:#1e40af}.nav-tab.active{color:#1e40af;background:white}.nav-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:#1e40af}.tab-content{display:none;padding:30px;animation:fadeIn .5s ease-in}.tab-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;margin-bottom:30px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;margin-bottom:8px;color:#374151;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{padding:12px 15px;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .3s ease;background:white}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{min-height:100px;resize:vertical}.items-section{background:#f8fafc;border-radius:15px;padding:25px;margin:25px 0;border:2px solid #e2e8f0}.items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.items-header h3{color:#1e40af;font-size:1.3rem}.add-item-btn{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #10b9814d}.add-item-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.item-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:15px;align-items:end;margin-bottom:15px;padding:15px;background:white;border-radius:10px;border:1px solid #e5e7eb;transition:all .3s ease}.item-row:hover{box-shadow:0 4px 15px #0000001a}.marginbox{margin:10px}.item-list{list-style:none;padding:0;margin:.5rem 0}.item-list li{background:#f1f5f9;margin-bottom:.5rem;padding:.5rem .75rem;border-radius:.375rem;font-size:.95rem;color:#1e293b;display:flex;justify-content:space-between;align-items:center;content:"•";color:#3b82f6}.remove-item-btn{background:#ef4444;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.remove-item-btn:hover{background:#dc2626;transform:scale(1.05)}.approval-actions{display:flex;gap:10px;margin-top:15px}.btn-approve{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-approve:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-reject{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-reject:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-request{background:linear-gradient(135deg,#ef9a44 0%,#fa920a 100%);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-request:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f0a2344d}.btn-create-po{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-create-po:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.btn-mark-delivered{background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-mark-delivered:hover{transform:translateY(-1px);box-shadow:0 4px 12px #06b6d44d}.po-info{background:#f8fafc;padding:15px;border-radius:8px;margin:10px 0;border:1px solid #e2e8f0}.po-info h4{color:#1e40af;margin-bottom:10px;font-size:1rem}.po-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;font-size:.9rem}.items-list{background:#f8fafc;padding:15px;border-radius:8px;margin:15px 0;border:1px solid #e2e8f0}.items-list h4{color:#374151;margin-bottom:10px;font-size:1rem}.item-detail{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e5e7eb}.item-detail:last-child{border-bottom:none}.comments-section{margin-top:15px}.comments-section textarea{width:100%;min-height:80px;padding:10px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;resize:vertical}.role-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:10px}.role-supervisor{background:#fef3c7;color:#92400e}.role-purchasing{background:#dbeafe;color:#1e40af}.role-receiving{background:#dcfce7;color:#166534}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-draft{background:#fef3c7;color:#92400e}.status-under-review{background:#dbeafe;color:#1e40af}.status-approved{background:#dcfce7;color:#166534}.status-declined{background:#fee2e2;color:#dc2626}.status-info-requested{background:#e8cf12;color:#da7212}.status-po-created{background:#e0e7ff;color:#4bca38}.status-pending-supply{background:#113fd8;color:#4bca38}.status-delivered{background:#f3e8ff;color:#7c3aed}.status-received{background:#ecfdf5;color:#065f46}.action-buttons{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:25px;border-top:2px solid #e5e7eb}.btn{padding:12px 25px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px}.btn-primary{background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);color:#fff;box-shadow:0 4px 15px #1e40af4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1e40af66}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563;transform:translateY(-2px)}.requisition-list{display:grid;gap:20px}.requisition-card{background:white;border-radius:15px;padding:25px;box-shadow:0 4px 15px #0000001a;border:1px solid #e5e7eb;transition:all .3s ease}.requisition-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.requisition-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.requisition-id{font-size:1.2rem;font-weight:700;color:#1e40af}.requisition-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:15px}.detail-item{display:flex;flex-direction:column}.detail-label{font-size:.85rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.detail-value{font-size:1rem;color:#374151;font-weight:500}.workflow-steps{display:flex;justify-content:space-between;align-items:center;margin:30px 0;padding:20px;background:#f8fafc;border-radius:15px;border:2px solid #e2e8f0}.workflow-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.workflow-step:not(:last-child):after{content:"";position:absolute;top:20px;right:-50%;width:100%;height:2px;background:#e5e7eb;z-index:1}.step-icon{width:40px;height:40px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:700;color:#6b7280;margin-bottom:10px;position:relative;z-index:2}.step-icon.active{background:#3b82f6;color:#fff}.step-icon.completed{background:#10b981;color:#fff}.step-title{font-size:.9rem;font-weight:600;color:#374151;text-align:center}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}.item-row{grid-template-columns:1fr;gap:10px}.action-buttons{flex-direction:column}.workflow-steps{flex-direction:column;gap:20px}.workflow-step:after{display:none}}#content{width:100%;min-height:100vh;transition:all .3s;position:absolute;padding:20px 20px 20px 40px}#content.active{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width))}.po-content{padding:40px}.po-header{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px}.company-info,.po-details{background:#f8f9fa;padding:25px;border-radius:15px;border-left:5px solid #3498db}.company-info h3,.po-details h3{color:#2c3e50;margin-bottom:15px;font-size:1.3rem}.info-row{margin-bottom:8px;display:flex;justify-content:space-between}.info-label{font-weight:600;color:#555}.info-value{color:#2c3e50}.items-section{margin-top:30px}.section-title{color:#2c3e50;font-size:1.5rem;margin-bottom:20px;border-bottom:2px solid #3498db;padding-bottom:10px}.items-table{width:100%;border-collapse:collapse;margin-bottom:30px;background:white;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px #0000001a}.items-table th{background:linear-gradient(135deg,#34495e 0%,#2c3e50 100%);color:#fff;padding:15px;text-align:left;font-weight:600}.items-table td{padding:15px;border-bottom:1px solid #eee;vertical-align:middle}.items-table tr:hover{background:#f8f9fa;transform:translateY(-1px);transition:all .3s ease}.price-input{padding:8px 12px;border:2px solid #ddd;border-radius:8px;font-size:14px;width:100px;transition:all .3s ease}.price-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.price-changed{background:#fff3cd;border-color:#ffc107}.edit-btn{background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px;transition:all .3s ease}.edit-btn:hover{background:#2980b9;transform:translateY(-2px)}.save-btn{background:#27ae60;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px;margin-right:5px}.cancel-btn{background:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px}.justification-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:white;padding:30px;border-radius:15px;max-width:500px;width:90%;box-shadow:0 20px 40px #0000004d}.modal-content h3{color:#2c3e50;margin-bottom:20px;font-size:1.3rem}.justification-textarea{width:100%;padding:15px;border:2px solid #ddd;border-radius:8px;font-family:inherit;font-size:14px;resize:vertical;min-height:100px}.justification-textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.modal-buttons{margin-top:20px;display:flex;gap:10px;justify-content:flex-end}.totals{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);padding:25px;border-radius:15px;margin-top:20px}.total-row{display:flex;justify-content:space-between;margin-bottom:10px;font-size:1.1rem}.total-row.grand-total{border-top:2px solid #3498db;padding-top:15px;margin-top:15px;font-weight:700;font-size:1.3rem;color:#2c3e50}.justification-note{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:10px;margin-top:10px;font-size:12px;color:#856404}.price-change-indicator{background:#dc3545;color:#fff;border-radius:50%;width:20px;height:20px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;margin-left:5px}@media (max-width: 768px){.po-header{grid-template-columns:1fr;gap:20px}.items-table{font-size:14px}.items-table th,.items-table td{padding:10px 8px}.price-input{width:80px}}
1
+ .v-left{margin-left:20px}.vessel-card{background:white;border-radius:10px;box-shadow:0 8px 16px #0069c026;transition:all .3s ease;margin-bottom:20px;overflow:hidden;border-left:4px solid var(--accent-color)}.vessel-card:hover{transform:translateY(-5px);box-shadow:0 12px 20px #0069c033}.vessel-icon{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;background-color:#e3f2fd;border-radius:10px;color:var(--accent-color);font-size:24px;margin-right:15px}.black{color:#000!important}.action-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:20px;color:var(--accent-color);font-size:16px;margin-right:15px;margin-top:20px;margin-bottom:10px}.delete{background-color:var(--danger)}.edit{background-color:var(--success)}.vessel-status{display:inline-block;padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-active{background-color:#e8f5e9;color:#2e7d32}.status-maintenance{background-color:#fff8e1;color:#f57f17}.status-inactive{background-color:#f5f5f5;color:#757575}.page-header{margin-bottom:30px;border-bottom:1px solid #e0e0e0;padding-bottom:15px}.a-header{background:linear-gradient(135deg,var(--dashprimary-color),var(--dashsecondary-color));color:#fff;padding:2rem 0;margin-bottom:2rem;border-radius:12px;box-shadow:0 10px 30px #3499404d}.a-header h1{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-align:center}.a-header p{text-align:center;opacity:.9;font-size:1.1rem}.a-controls{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:center}.a-search-box{flex:1;min-width:250px;position:relative}.a-search-box input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease}.a-search-box input:focus{outline:none;border-color:var(--dashsecondary-color);box-shadow:0 0 0 3px #3499401a}.filter-select{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:white;cursor:pointer;transition:all .3s ease}.filter-select:focus{outline:none;border-color:var(--dashsecondary-color);box-shadow:0 0 0 3px #3499401a}.btn{padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #3499404d}.btn-secondary{background:var(--secondary);color:var(--dark)}.btn-secondary:hover{background:#e6a200;transform:translateY(-1px);box-shadow:0 4px 12px #f4b4004d}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background:white;padding:1.5rem;border-radius:12px;box-shadow:0 4px 20px #0000000d;transition:transform .3s ease}.stat-card:hover{transform:translateY(-2px)}.stat-card h3{color:var(--gray);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.stat-card .value{font-size:2rem;font-weight:700;color:var(--dashsecondary-color)}.logs-container{background:white;border-radius:12px;box-shadow:0 4px 20px #0000000d;overflow:hidden}.logs-header{background:var(--light);padding:1.5rem;border-bottom:1px solid #e0e0e0}.logs-header h2{color:var(--dark);font-size:1.3rem;font-weight:600}.logs-table{width:100%;border-collapse:collapse}.logs-table th,.logs-table td{padding:1rem;text-align:left;border-bottom:1px solid #f0f0f0}.logs-table th{background:var(--light);font-weight:600;color:var(--dark);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.logs-table tr:hover{background:#f8f9fa}.activity-badge{padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-login{background:var(--success);color:#fff}.badge-logout{background:var(--gray);color:#fff}.badge-create{background:var(--dashprimary-color);color:#fff}.badge-update{background:var(--warning);color:#fff}.badge-delete{background:var(--danger);color:#fff}.badge-danger{color:var(--danger)}.badge-view{background:var(--maitsecondary);color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1.5rem;background:var(--light)}.pagination button{padding:8px 12px;border:1px solid #e0e0e0;background:white;border-radius:6px;cursor:pointer;transition:all .3s ease}.pagination button:hover,.pagination button.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.no-logs{text-align:center;padding:3rem;color:var(--gray)}.no-logs h3{font-size:1.5rem;margin-bottom:1rem}.loading{text-align:center;padding:3rem;color:var(--gray)}.spinner{border:3px solid #f3f3f3;border-top:3px solid var(--primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.a-controls{flex-direction:column;align-items:stretch}.a-search-box{min-width:100%}.stats-grid{grid-template-columns:1fr}.logs-table{font-size:.9rem}.logs-table th,.logs-table td{padding:.5rem}}.add-crew-form h2{color:#005792}.crew-section{margin-bottom:30px}.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px;margin-bottom:30px}.crew-card{background-color:#f8f9fa;border-radius:6px;padding:15px;box-shadow:0 1px 5px #00000014;border-left:4px solid #00a8e8;position:relative}.crew-card.unavailable{border-left-color:#dc3545;opacity:.8}.crew-name{font-weight:700;font-size:1.1em;margin-bottom:5px;color:#005792}.crew-role{color:#6c757d;font-size:.9em;margin-bottom:10px}.crew-certifications,.crew-availability{font-size:.85em;margin:5px 0}.certification-tag{display:inline-block;background-color:#e6f7ff;color:#005792;border-radius:4px;padding:2px 8px;margin-right:5px;margin-bottom:5px;font-size:.85em}.crew-status-badge{position:absolute;top:15px;right:15px;font-size:.75em;padding:3px 8px;border-radius:12px;font-weight:700}.status-available{background-color:#d4edda;color:#155724}.status-unavailable{background-color:#f8d7da;color:#721c24}.status-onduty{background-color:#cce5ff;color:#004085}.action-buttons{display:flex;justify-content:space-between;margin-top:15px}.btn{padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.9em;transition:background-color .2s}.btn-primary{background-color:#005792;color:#fff}.btn-primary:hover{background-color:#004675}.btn-secondary{background-color:#e9ecef;color:#495057}.btn-secondary:hover{background-color:#dde2e6}.search-filter{display:flex;margin-bottom:20px;gap:10px}.search-filter input,.search-filter select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px}.search-filter input{flex-grow:1}.search-filter select{width:30%}.add-crew-form{background-color:#f8f9fa;padding:20px;border-radius:6px;margin-top:30px}.form-row{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.form-group{flex:1;min-width:200px}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:#495057}.text-danger{color:red;font-weight:bolder}.text-warning{color:orange;font-weight:bolder}.text-success{color:green;font-weight:bolder}.icon{font-size:20px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:8px;border:1px solid #ced4da;border-radius:4px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.no-results{text-align:center;padding:20px;color:#6c757d}.crew-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.vcard{border-radius:6px;padding:5px}.s-container{max-width:1200px;margin:0 auto;background:rgba(255,255,255,.95);border-radius:20px;box-shadow:0 25px 50px #00000040;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:20px}.header h1{font-size:2.5rem;margin-bottom:10px;position:relative;z-index:1}.header p{font-size:1.1rem;opacity:.9;position:relative;z-index:1}.nav-tabs{display:flex;background:#f8fafc;border-bottom:2px solid #e2e8f0;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.nav-tabs::-webkit-scrollbar{height:6px}.nav-tabs::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.nav-tabs::-webkit-scrollbar-track{background:transparent}.nav-tab{flex:1;padding:15px 20px;background:none;border:none;cursor:pointer;font-size:1rem;font-weight:600;color:#64748b;transition:all .3s ease;position:relative}.nav-tab:hover{background:#e2e8f0;color:#1e40af}.nav-tab.active{color:#1e40af;background:white}.nav-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:3px;background:#1e40af}.tab-content{display:none;padding:30px;animation:fadeIn .5s ease-in}.tab-content.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:25px;margin-bottom:30px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;margin-bottom:8px;color:#374151;font-size:.95rem}.form-group input,.form-group select,.form-group textarea{padding:12px 15px;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;transition:all .3s ease;background:white}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{min-height:100px;resize:vertical}.items-section{background:#f8fafc;border-radius:15px;padding:25px;margin:25px 0;border:2px solid #e2e8f0}.items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.items-header h3{color:#1e40af;font-size:1.3rem}.add-item-btn{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;box-shadow:0 4px 15px #10b9814d}.add-item-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.item-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:15px;align-items:end;margin-bottom:15px;padding:15px;background:white;border-radius:10px;border:1px solid #e5e7eb;transition:all .3s ease}.item-row:hover{box-shadow:0 4px 15px #0000001a}.marginbox{margin:10px}.item-list{list-style:none;padding:0;margin:.5rem 0}.item-list li{background:#f1f5f9;margin-bottom:.5rem;padding:.5rem .75rem;border-radius:.375rem;font-size:.95rem;color:#1e293b;display:flex;justify-content:space-between;align-items:center;content:"•";color:#3b82f6}.remove-item-btn{background:#ef4444;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .3s ease}.remove-item-btn:hover{background:#dc2626;transform:scale(1.05)}.approval-actions{display:flex;gap:10px;margin-top:15px}.btn-approve{background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-approve:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.btn-reject{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-reject:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.btn-request{background:linear-gradient(135deg,#ef9a44 0%,#fa920a 100%);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-request:hover{transform:translateY(-1px);box-shadow:0 4px 12px #f0a2344d}.btn-create-po{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-create-po:hover{transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.btn-mark-delivered{background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .3s ease}.btn-mark-delivered:hover{transform:translateY(-1px);box-shadow:0 4px 12px #06b6d44d}.po-info{background:#f8fafc;padding:15px;border-radius:8px;margin:10px 0;border:1px solid #e2e8f0}.po-info h4{color:#1e40af;margin-bottom:10px;font-size:1rem}.po-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;font-size:.9rem}.items-list{background:#f8fafc;padding:15px;border-radius:8px;margin:15px 0;border:1px solid #e2e8f0}.items-list h4{color:#374151;margin-bottom:10px;font-size:1rem}.item-detail{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e5e7eb}.item-detail:last-child{border-bottom:none}.comments-section{margin-top:15px}.comments-section textarea{width:100%;min-height:80px;padding:10px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;resize:vertical}.role-badge{display:inline-block;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:10px}.role-supervisor{background:#fef3c7;color:#92400e}.role-purchasing{background:#dbeafe;color:#1e40af}.role-receiving{background:#dcfce7;color:#166534}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-draft{background:#fef3c7;color:#92400e}.status-under-review{background:#dbeafe;color:#1e40af}.status-approved{background:#dcfce7;color:#166534}.status-declined{background:#fee2e2;color:#dc2626}.status-info-requested{background:#e8cf12;color:#da7212}.status-po-created{background:#e0e7ff;color:#4bca38}.status-pending-supply{background:#113fd8;color:#4bca38}.status-delivered{background:#f3e8ff;color:#7c3aed}.status-received{background:#ecfdf5;color:#065f46}.action-buttons{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:25px;border-top:2px solid #e5e7eb}.btn-primary-req{background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);color:#fff;box-shadow:0 4px 15px #1e40af4d}.btn-primary-req:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1e40af66}.btn-secondary{background:#6b7280;color:#fff}.btn-secondary:hover{background:#4b5563;transform:translateY(-2px)}.requisition-list{display:grid;gap:20px}.requisition-card{background:white;border-radius:15px;padding:25px;box-shadow:0 4px 15px #0000001a;border:1px solid #e5e7eb;transition:all .3s ease}.requisition-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.requisition-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.requisition-id{font-size:1.2rem;font-weight:700;color:#1e40af}.requisition-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-top:15px}.detail-item{display:flex;flex-direction:column}.detail-label{font-size:.85rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.detail-value{font-size:1rem;color:#374151;font-weight:500}.workflow-steps{display:flex;justify-content:space-between;align-items:center;margin:30px 0;padding:20px;background:#f8fafc;border-radius:15px;border:2px solid #e2e8f0}.workflow-step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative}.workflow-step:not(:last-child):after{content:"";position:absolute;top:20px;right:-50%;width:100%;height:2px;background:#e5e7eb;z-index:1}.step-icon{width:40px;height:40px;border-radius:50%;background:#e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:700;color:#6b7280;margin-bottom:10px;position:relative;z-index:2}.step-icon.active{background:#3b82f6;color:#fff}.step-icon.completed{background:#10b981;color:#fff}.step-title{font-size:.9rem;font-weight:600;color:#374151;text-align:center}@media (max-width: 768px){.form-grid{grid-template-columns:1fr}.item-row{grid-template-columns:1fr;gap:10px}.action-buttons{flex-direction:column}.workflow-steps{flex-direction:column;gap:20px}.workflow-step:after{display:none}}#content{width:100%;min-height:100vh;transition:all .3s;position:absolute;padding:20px 20px 20px 40px}#content.active{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width))}.po-content{padding:40px}.po-header{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px}.company-info,.po-details{background:#f8f9fa;padding:25px;border-radius:15px;border-left:5px solid #3498db}.company-info h3,.po-details h3{color:#2c3e50;margin-bottom:15px;font-size:1.3rem}.info-row{margin-bottom:8px;display:flex;justify-content:space-between}.info-label{font-weight:600;color:#555}.info-value{color:#2c3e50}.items-section{margin-top:30px}.section-title{color:#2c3e50;font-size:1.5rem;margin-bottom:20px;border-bottom:2px solid #3498db;padding-bottom:10px}.items-table{width:100%;border-collapse:collapse;margin-bottom:30px;background:white;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px #0000001a}.items-table th{background:linear-gradient(135deg,#34495e 0%,#2c3e50 100%);color:#fff;padding:15px;text-align:left;font-weight:600}.items-table td{padding:15px;border-bottom:1px solid #eee;vertical-align:middle}.items-table tr:hover{background:#f8f9fa;transform:translateY(-1px);transition:all .3s ease}.price-input{padding:8px 12px;border:2px solid #ddd;border-radius:8px;font-size:14px;width:100px;transition:all .3s ease}.price-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.price-changed{background:#fff3cd;border-color:#ffc107}.edit-btn{background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px;transition:all .3s ease}.edit-btn:hover{background:#2980b9;transform:translateY(-2px)}.save-btn{background:#27ae60;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px;margin-right:5px}.cancel-btn{background:#e74c3c;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px}.justification-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:white;padding:30px;border-radius:15px;max-width:500px;width:90%;box-shadow:0 20px 40px #0000004d}.modal-content h3{color:#2c3e50;margin-bottom:20px;font-size:1.3rem}.justification-textarea{width:100%;padding:15px;border:2px solid #ddd;border-radius:8px;font-family:inherit;font-size:14px;resize:vertical;min-height:100px}.justification-textarea:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.modal-buttons{margin-top:20px;display:flex;gap:10px;justify-content:flex-end}.totals{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);padding:25px;border-radius:15px;margin-top:20px}.total-row{display:flex;justify-content:space-between;margin-bottom:10px;font-size:1.1rem}.total-row.grand-total{border-top:2px solid #3498db;padding-top:15px;margin-top:15px;font-weight:700;font-size:1.3rem;color:#2c3e50}.justification-note{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:10px;margin-top:10px;font-size:12px;color:#856404}.price-change-indicator{background:#dc3545;color:#fff;border-radius:50%;width:20px;height:20px;font-size:12px;display:inline-flex;align-items:center;justify-content:center;margin-left:5px}@media (max-width: 768px){.po-header{grid-template-columns:1fr;gap:20px}.items-table{font-size:14px}.items-table th,.items-table td{padding:10px 8px}.price-input{width:80px}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oceanhelm",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "Oceanhelm's highly customizable library",
5
5
  "private": false,
6
6
  "type": "module",
@@ -225,7 +225,6 @@
225
225
 
226
226
  .btn {
227
227
  padding: 12px 24px;
228
- border: none;
229
228
  border-radius: 8px;
230
229
  font-size: 1rem;
231
230
  font-weight: 600;
@@ -234,7 +233,7 @@
234
233
  display: flex;
235
234
  align-items: center;
236
235
  gap: 8px;
237
- }
236
+ }
238
237
 
239
238
  .btn-primary {
240
239
  background: var(--primary);
@@ -4,7 +4,7 @@
4
4
  <div class="wave-bg" v-if="config.showWaveBackground"></div>
5
5
 
6
6
  <div class="crew-section">
7
- <div class="section-header">
7
+ <div class="crew-section-header">
8
8
  <h2>{{ sectionTitle }}</h2>
9
9
  <button
10
10
  class="btn btn-primary"
@@ -47,7 +47,7 @@
47
47
  class="crew-card"
48
48
  :class="{ 'unavailable': member.status === 'unavailable' }"
49
49
  >
50
- <div :class="['status-badge', getStatusClass(member.status)]">
50
+ <div :class="['crew-status-badge', getStatusClass(member.status)]">
51
51
  {{ formatStatus(member.status) }}
52
52
  </div>
53
53
 
@@ -580,7 +580,7 @@ export default {
580
580
  font-size: 0.85em;
581
581
  }
582
582
 
583
- .status-badge {
583
+ .crew-status-badge {
584
584
  position: absolute;
585
585
  top: 15px;
586
586
  right: 15px;
@@ -614,7 +614,6 @@ export default {
614
614
  .btn {
615
615
  padding: 6px 12px;
616
616
  border-radius: 4px;
617
- border: none;
618
617
  cursor: pointer;
619
618
  font-size: 0.9em;
620
619
  transition: background-color 0.2s;
@@ -726,7 +725,7 @@ export default {
726
725
  color: #6c757d;
727
726
  }
728
727
 
729
- .section-header {
728
+ .crew-section-header {
730
729
  display: flex;
731
730
  justify-content: space-between;
732
731
  align-items: center;
@@ -883,8 +883,7 @@ export default {
883
883
  },
884
884
  async resetTasks() {
885
885
  const allCompleted = this.checklists.every(item => item.completed);
886
- const status = allCompleted ? 'Completed' : 'In Progress';
887
-
886
+ const status = allCompleted ? 'Completed' : 'Soon';
888
887
  const updateData = {
889
888
  checklistProgress: [...this.checklists],
890
889
  status,
@@ -895,6 +894,7 @@ export default {
895
894
  this.$emit('update-task', {
896
895
  updateData,
897
896
  file: this.fileattachments.file,
897
+ tasks: this.tasks,
898
898
  callback: (success, updatedAfter) => {
899
899
  if (success) {
900
900
  if (updatedAfter) {
@@ -962,7 +962,7 @@ export default {
962
962
  }
963
963
  };
964
964
  </script>
965
-
965
+ <!--
966
966
  <style>
967
967
  .progress-container {
968
968
  margin-bottom: 20px;
@@ -1080,13 +1080,6 @@ header {
1080
1080
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
1081
1081
  }
1082
1082
 
1083
- h2 {
1084
- color: var(--dark);
1085
- margin-bottom: 20px;
1086
- border-bottom: 2px solid var(--light);
1087
- padding-bottom: 10px;
1088
- }
1089
-
1090
1083
  .form-section {
1091
1084
  display: none;
1092
1085
  animation: fadeIn 0.5s;
@@ -1135,15 +1128,15 @@ textarea {
1135
1128
  resize: vertical;
1136
1129
  }
1137
1130
 
1131
+ /*
1138
1132
  .btn {
1139
1133
  padding: 10px 20px;
1140
- border: none;
1141
1134
  border-radius: 4px;
1142
1135
  cursor: pointer;
1143
1136
  font-size: 16px;
1144
1137
  font-weight: bold;
1145
1138
  transition: background-color 0.3s;
1146
- }
1139
+ }*/
1147
1140
 
1148
1141
  .btn-primary {
1149
1142
  background-color: var(--maitprimary);
@@ -1754,4 +1747,22 @@ textarea {
1754
1747
  max-width: none;
1755
1748
  }
1756
1749
  }
1757
- </style>
1750
+
1751
+ nav button {
1752
+ background-color: var(--maitsecondary);
1753
+ color: white;
1754
+ border: none;
1755
+ padding: 10px 20px;
1756
+ margin: 5px;
1757
+ cursor: pointer;
1758
+ font-weight: bold;
1759
+ border-radius: 3px;
1760
+ transition: background-color 0.3s;
1761
+ }
1762
+
1763
+ nav button:hover,
1764
+ nav button.active {
1765
+ background-color: var(--maitprimary);
1766
+ }
1767
+ </style>
1768
+ -->
@@ -84,7 +84,7 @@
84
84
  </div>
85
85
 
86
86
  <div class="action-buttons">
87
- <button type="submit" class="btn btn-primary">Submit Requisition</button>
87
+ <button type="submit" class="btn btn-primary-req">Submit Requisition</button>
88
88
  </div>
89
89
  </form>
90
90
  </div>
@@ -1276,7 +1276,7 @@ export default {
1276
1276
  border-top: 2px solid #e5e7eb;
1277
1277
  }
1278
1278
 
1279
- .btn {
1279
+ /*.btn {
1280
1280
  padding: 12px 25px;
1281
1281
  border: none;
1282
1282
  border-radius: 10px;
@@ -1285,15 +1285,15 @@ export default {
1285
1285
  cursor: pointer;
1286
1286
  transition: all 0.3s ease;
1287
1287
  min-width: 120px;
1288
- }
1288
+ }*/
1289
1289
 
1290
- .btn-primary {
1290
+ .btn-primary-req {
1291
1291
  background: linear-gradient(135deg, #1e40af 0%, #3b82f6 100%);
1292
1292
  color: white;
1293
1293
  box-shadow: 0 4px 15px rgba(30, 64, 175, 0.3);
1294
1294
  }
1295
1295
 
1296
- .btn-primary:hover {
1296
+ .btn-primary-req:hover {
1297
1297
  transform: translateY(-2px);
1298
1298
  box-shadow: 0 6px 20px rgba(30, 64, 175, 0.4);
1299
1299
  }