:root {
       /* Colors */
            --background-color: #ffffff;
            --default-color: #444444;
            --heading-color: #545454;
            --accent-color: #e96b56;
            --surface-color: #ffffff;
            --contrast-color: #ffffff;
            --primary-color: #545454;
            --secondary-color: #e96b56;
            --light-color: #f8f9fa;
            --dark-color: #343a40;
            --success-color: #27ae60;
            --warning-color: #f39c12;
            
            /* Smooth scroll */
            scroll-behavior: smooth;
        }
    body {
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      background-color: #f0f4f8;
      color: #333;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }
    
    .portal-header {
      background-color: var(--primary-color);
      color: white;
      padding: 15px 0;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }
    
    .logo-container {
      display: flex;
      align-items: center;
      gap: 15px;
    }
    
    .logo-icon {
      background-color: var(--secondary-color);
      width: 50px;
      height: 50px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
    }
    
    .logo-text {
      font-size: 28px;
      font-weight: 700;
    }
    
    .logo-text span {
      color: var(--accent-color);
    }
    
    .portal-container {
      flex: 1;
      padding: 30px 0;
    }
    
    .portal-card {
      background: white;
      border-radius: 12px;
      box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
      overflow: hidden;
      max-width: 800px;
      margin: 0 auto;
      transition: transform 0.3s ease;
    }
    
    .portal-card:hover {
      transform: translateY(-5px);
    }
    
    .card-header {
      background-color: var(--primary-color);
      color: white;
      padding: 20px 30px;
      display: flex;
      align-items: center;
      gap: 15px;
    }
    
    .card-header h2 {
      font-size: 24px;
      margin: 0;
    }
    
    .card-body {
      padding: 30px;
    }
    
    .form-control, .form-control-lg {
      border: 2px solid #e0e6ed;
      border-radius: 8px;
      padding: 12px 15px;
      transition: all 0.3s;
    }
    
    .form-control:focus {
      border-color: var(--secondary-color);
      box-shadow: 0 0 0 0.25rem rgba(52, 152, 219, 0.25);
    }
    
    .btn {
      background-color: var(--secondary-color);
      color: white;
      border: none;
      border-radius: 8px;
      padding: 12px 20px;
      font-weight: 600;
      transition: all 0.3s;
    }
    
    .btn:hover {
      background-color: #2980b9;
      transform: translateY(-2px);
    }
    
    .btn.btn-outline {
      background: transparent;
      border: 2px solid var(--secondary-color);
      color: var(--secondary-color);
    }
    
    .btn.btn-outline:hover {
      background-color: var(--secondary-color);
      color: white;
    }
    
    .btn.btn-accent {
      background-color: var(--accent-color);
    }
    
    .btn.btn-accent:hover {
      background-color: #d35400;
    }
    
    .report-card {
      border: 1px solid #e0e6ed;
      border-radius: 10px;
      padding: 20px;
      margin-bottom: 20px;
      transition: all 0.3s;
      position: relative;
      overflow: hidden;
    }
    
    .report-card:hover {
      border-color: var(--secondary-color);
      box-shadow: 0 5px 15px rgba(52, 152, 219, 0.1);
    }
    
    .report-card-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 15px;
    }
    
    .report-card-title {
      font-size: 18px;
      font-weight: 600;
      color: var(--primary-color);
    }
    
    .report-date {
      background-color: #e8f4fd;
      color: var(--secondary-color);
      padding: 5px 12px;
      border-radius: 20px;
      font-size: 14px;
      font-weight: 500;
    }
    
    .report-card-details {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 15px;
    }
    
    .detail-badge {
      background-color: #f8f9fa;
      border: 1px solid #e9ecef;
      border-radius: 20px;
      padding: 5px 12px;
      font-size: 14px;
      color: #6c757d;
    }
    
    .detail-badge i {
      margin-right: 5px;
      color: var(--secondary-color);
    }
    
    .report-summary {
      display: flex;
      gap: 20px;
      margin-bottom: 15px;
    }
    
    .summary-item {
      flex: 1;
    }
    
    .summary-label {
      display: block;
      font-size: 14px;
      color: #6c757d;
    }
    
    .summary-value {
      font-size: 18px;
      font-weight: 600;
      color: var(--primary-color);
    }
    
    .view-report-btn {
      width: 100%;
      text-align: center;
      background-color: rgba(52, 152, 219, 0.1);
      color: var(--secondary-color);
      border: none;
      padding: 10px;
      border-radius: 8px;
      font-weight: 600;
      transition: all 0.3s;
    }
    
    .view-report-btn:hover {
      background-color: var(--secondary-color);
      color: white;
    }
    
    .report-id-badge {
      position: absolute;
      top: 20px;
      right: 20px;
      background-color: #fef2e8;
      color: var(--accent-color);
      padding: 3px 10px;
      border-radius: 4px;
      font-size: 12px;
      font-weight: 500;
    }
    
    .report-type-toggle {
      display: flex;
      background-color: #f8f9fa;
      border-radius: 10px;
      padding: 5px;
      margin-bottom: 25px;
    }
    
    .toggle-btn {
      flex: 1;
      text-align: center;
      padding: 12px;
      border-radius: 8px;
      cursor: pointer;
      font-weight: 600;
      transition: all 0.3s;
      border: none;
      background: transparent;
    }
    
    .toggle-btn.active {
      background-color: white;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
      color: var(--secondary-color);
    }
    
    .report-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 30px;
      padding-bottom: 20px;
      border-bottom: 1px solid #e9ecef;
    }
    
    .report-title {
      display: flex;
      align-items: center;
      gap: 15px;
    }
    
    .report-title i {
      color: var(--secondary-color);
      background-color: #e8f4fd;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 24px;
    }
    
    .client-info {
      text-align: right;
    }
    
    .form-section {
      background-color: #f8fafc;
      border-radius: 10px;
      padding: 20px;
      margin-bottom: 25px;
    }
    
    .section-title {
      color: var(--primary-color);
      font-size: 18px;
      margin-bottom: 20px;
      padding-bottom: 10px;
      border-bottom: 1px solid #e9ecef;
      display: flex;
      align-items: center;
      gap: 10px;
    }
    
    .section-title i {
      color: var(--secondary-color);
    }
    
    .valuation-card {
      background: linear-gradient(135deg, #2c3e50, #4a6491);
      border-radius: 10px;
      padding: 20px;
      color: white;
      text-align: center;
      height: 100%;
    }
    
    .value-label {
      font-size: 16px;
      opacity: 0.9;
      margin-bottom: 5px;
    }
    
    .value-amount {
      font-size: 28px;
      font-weight: 700;
      margin-bottom: 10px;
    }
    
    .damage-severity {
      display: flex;
      gap: 15px;
      margin-top: 15px;
    }
    
    .severity-item {
      flex: 1;
      text-align: center;
      padding: 15px;
      border-radius: 8px;
      background-color: #f8f9fa;
      border: 1px solid #e9ecef;
    }
    
    .severity-item.active {
      background-color: #e8f4fd;
      border-color: var(--secondary-color);
    }
    
    .severity-label {
      font-weight: 600;
      margin-bottom: 5px;
    }
    
    .severity-value {
      font-size: 18px;
      font-weight: 700;
      color: var(--primary-color);
    }
    
    .portal-footer {
      background-color: var(--primary-color);
      color: white;
      padding: 20px 0;
      text-align: center;
      margin-top: auto;
    }
    
    .portal-footer p {
      margin: 5px 0;
      font-size: 14px;
    }
    
    .portal-footer i {
      color: var(--accent-color);
      margin-right: 5px;
    }
    
    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    
    .fade-in {
      animation: fadeIn 0.5s ease-out;
    }
    
    .spinner {
      display: inline-block;
      width: 20px;
      height: 20px;
      border: 3px solid rgba(255, 255, 255, 0.3);
      border-radius: 50%;
      border-top-color: white;
      animation: spin 1s ease-in-out infinite;
    }
    
    @keyframes spin {
      to { transform: rotate(360deg); }
    }
    
    .form-toggle {
      text-align: center;
      margin-top: 20px;
      padding-top: 15px;
      border-top: 1px solid #e9ecef;
    }
    
    .form-toggle a {
      color: var(--secondary-color);
      font-weight: 600;
      cursor: pointer;
    }
    
    .system-condition {
      display: flex;
      align-items: center;
      margin-bottom: 10px;
      padding: 10px;
      border-radius: 8px;
      background: #fff;
      border: 1px solid #e9ecef;
    }
    
    .condition-indicator {
      width: 24px;
      height: 24px;
      border-radius: 50%;
      margin-right: 15px;
    }
    
    .condition-good { background-color: #27ae60; }
    .condition-fair { background-color: #f39c12; }
    .condition-poor { background-color: #e74c3c; }
    .condition-fail { background-color: #c0392b; }
    
    .condition-label {
      flex: 1;
      font-weight: 500;
    }
    
    .condition-notes {
      flex: 3;
      color: #6c757d;
    }
    
    .inspection-summary {
      display: flex;
      gap: 20px;
      margin: 20px 0;
    }
    
    .summary-card {
      flex: 1;
      background: #f8f9fa;
      border-radius: 10px;
      padding: 15px;
      text-align: center;
    }
    
    .summary-card-title {
      font-size: 14px;
      color: #6c757d;
      margin-bottom: 5px;
    }
    
    .summary-card-value {
      font-size: 20px;
      font-weight: 700;
      color: var(--primary-color);
    }
    
    .recommendation-card {
      background: #fff;
      border-radius: 10px;
      padding: 15px;
      margin-bottom: 15px;
      border-left: 4px solid var(--accent-color);
    }
    
    .recommendation-title {
      font-weight: 600;
      margin-bottom: 10px;
      color: var(--primary-color);
    }
    
    .readonly-field {
      background-color: #f8f9fa;
      border: 1px solid #e9ecef;
      color: #495057;
      cursor: not-allowed;
    }
    
    .readonly-field:focus {
      box-shadow: none;
    }
    
    @media (max-width: 768px) {
      .report-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
      }
      
      .client-info {
        text-align: left;
      }
      
      .report-summary {
        flex-direction: column;
        gap: 10px;
      }
      
      .inspection-summary {
        flex-direction: column;
      }
    }