:root{--griffes-blue:#1e3a8a;--griffes-light-blue:#3b82f6;--griffes-dark:#0f172a;--griffes-gray:#64748b;--griffes-light-gray:#f1f5f9;--griffes-white:#fff;--success-green:#10b981;--warning-yellow:#f59e0b;--error-red:#ef4444}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f1f5f9;background-color:var(--griffes-light-gray);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}.loading-screen{align-items:center;background:linear-gradient(135deg,#1e3a8a,#3b82f6);background:linear-gradient(135deg,var(--griffes-blue) 0,var(--griffes-light-blue) 100%);color:#fff;color:var(--griffes-white);display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top:4px solid var(--griffes-white);height:50px;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.app-header{background:linear-gradient(135deg,#1e3a8a,#3b82f6);background:linear-gradient(135deg,var(--griffes-blue) 0,var(--griffes-light-blue) 100%);box-shadow:0 2px 10px #0000001a;color:#fff;color:var(--griffes-white);padding:20px}.header-content{justify-content:space-between;margin:0 auto;max-width:1200px}.header-content,.logo-section{align-items:center;display:flex}.logo-section{gap:15px}.logo{height:50px;width:auto}.company-name{font-size:24px;font-weight:700;letter-spacing:2px}.user-section{align-items:center;display:flex;gap:20px}.user-info{text-align:right}.user-name{font-size:16px;font-weight:600}.user-role{font-size:12px;opacity:.9;text-transform:capitalize}.btn-logout{background:#fff3;border:2px solid #fff;border:2px solid var(--griffes-white);border-radius:6px;color:#fff;color:var(--griffes-white);cursor:pointer;font-weight:600;padding:8px 20px;transition:all .3s}.btn-logout:hover{background:#fff;background:var(--griffes-white);color:#1e3a8a;color:var(--griffes-blue)}.auth-container{align-items:center;background:linear-gradient(135deg,#1e3a8a,#3b82f6);background:linear-gradient(135deg,var(--griffes-blue) 0,var(--griffes-light-blue) 100%);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;background:var(--griffes-white);border-radius:12px;box-shadow:0 10px 40px #0003;max-width:450px;padding:40px;width:100%}.auth-logo{margin-bottom:30px;text-align:center}.auth-logo img{height:80px;margin-bottom:10px}.auth-title{color:#1e3a8a;color:var(--griffes-blue);font-size:28px;font-weight:700;letter-spacing:1px;margin-bottom:10px;text-align:center}.auth-subtitle{color:#64748b;color:var(--griffes-gray);margin-bottom:30px;text-align:center}.form-group{margin-bottom:20px}.form-label{color:#0f172a;color:var(--griffes-dark);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-input{border:2px solid #e2e8f0;border-radius:8px;font-size:16px;padding:12px 15px;transition:all .3s;width:100%}.form-input:focus{border-color:#1e3a8a;border-color:var(--griffes-blue);box-shadow:0 0 0 3px #1e3a8a1a;outline:none}.btn-primary{background:linear-gradient(135deg,#1e3a8a,#3b82f6);background:linear-gradient(135deg,var(--griffes-blue) 0,var(--griffes-light-blue) 100%);border:none;border-radius:8px;color:#fff;color:var(--griffes-white);cursor:pointer;font-size:16px;font-weight:600;letter-spacing:.5px;padding:14px;transition:all .3s;width:100%}.btn-primary:hover{box-shadow:0 5px 15px #1e3a8a4d;transform:translateY(-2px)}.btn-primary:disabled{cursor:not-allowed;opacity:.6;transform:none}.auth-switch{color:#64748b;color:var(--griffes-gray);margin-top:20px;text-align:center}.auth-switch a{color:#1e3a8a;color:var(--griffes-blue);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.error-message{background:#fee2e2;border-left:4px solid #ef4444;border-left:4px solid var(--error-red);border-radius:6px;color:#ef4444;color:var(--error-red);font-size:14px;margin-bottom:20px;padding:12px}.dashboard-container{margin:0 auto;max-width:1200px;padding:30px 20px}.dashboard-welcome{background:#fff;background:var(--griffes-white);border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;padding:30px}.welcome-title{color:#1e3a8a;color:var(--griffes-blue);font-size:32px;font-weight:700;margin-bottom:10px}.welcome-subtitle{color:#64748b;color:var(--griffes-gray);font-size:16px}.projects-section{margin-bottom:30px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-title{color:#0f172a;color:var(--griffes-dark);font-size:24px;font-weight:700}.btn-secondary{background:#fff;background:var(--griffes-white);border:2px solid #1e3a8a;border:2px solid var(--griffes-blue);border-radius:8px;color:#1e3a8a;color:var(--griffes-blue);cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s}.btn-secondary:hover{background:#1e3a8a;background:var(--griffes-blue);color:#fff;color:var(--griffes-white)}.projects-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.project-card{background:#fff;background:var(--griffes-white);border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000000d;cursor:pointer;padding:20px;transition:all .3s}.project-card:hover{border-color:#1e3a8a;border-color:var(--griffes-blue);box-shadow:0 5px 20px #0000001a;transform:translateY(-5px)}.project-title{color:#1e3a8a;color:var(--griffes-blue);font-size:20px;font-weight:700;margin-bottom:10px}.project-description{color:#64748b;color:var(--griffes-gray);line-height:1.5;margin-bottom:15px}.project-footer{align-items:center;display:flex;justify-content:space-between}.status-badge{border-radius:20px;font-size:12px;font-weight:600;padding:6px 12px;text-transform:capitalize}.status-pending{background:#fef3c7;color:#92400e}.status-in_progress{background:#dbeafe;color:#1e40af}.status-completed{background:#d1fae5;color:#065f46}.status-on_hold{background:#fee2e2;color:#991b1b}.project-date{color:#64748b;color:var(--griffes-gray);font-size:12px}.empty-state{background:#fff;background:var(--griffes-white);border-radius:12px;padding:60px 20px;text-align:center}.empty-state-icon{font-size:64px;margin-bottom:20px}.empty-state-title{color:#0f172a;color:var(--griffes-dark);font-size:24px;margin-bottom:10px}.empty-state-text{color:#64748b;color:var(--griffes-gray)}.project-view-container{margin:0 auto;max-width:1200px;padding:30px 20px}.back-button{align-items:center;background:none;border:none;color:#1e3a8a;color:var(--griffes-blue);cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;margin-bottom:20px}.back-button:hover{text-decoration:underline}.project-header-card{background:#fff;background:var(--griffes-white);border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:30px;padding:30px}.project-main-title{color:#1e3a8a;color:var(--griffes-blue);font-size:32px;font-weight:700;margin-bottom:15px}.project-content{grid-gap:30px;display:grid;gap:30px;grid-template-columns:2fr 1fr}.messages-section{background:#fff;background:var(--griffes-white);border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:20px}.messages-container{margin-bottom:20px;max-height:500px;overflow-y:auto;padding:10px}.message{background:#f1f5f9;background:var(--griffes-light-gray);border-radius:8px;margin-bottom:15px;padding:15px}.message-from-staff{background:#dbeafe;border-left:4px solid #1e3a8a;border-left:4px solid var(--griffes-blue)}.message-from-customer{background:#f1f5f9;background:var(--griffes-light-gray);border-left:4px solid #64748b;border-left:4px solid var(--griffes-gray)}.message-header{display:flex;justify-content:space-between;margin-bottom:8px}.message-sender{color:#0f172a;color:var(--griffes-dark);font-weight:700}.message-time{color:#64748b;color:var(--griffes-gray);font-size:12px}.message-content{color:#0f172a;color:var(--griffes-dark);line-height:1.5}.message-input-form{display:flex;gap:10px}.message-input{border:2px solid #e2e8f0;border-radius:8px;flex:1 1;font-size:14px;padding:12px}.btn-send{background:#1e3a8a;background:var(--griffes-blue);border:none;border-radius:8px;color:#fff;color:var(--griffes-white);cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s}.btn-send:hover{background:#3b82f6;background:var(--griffes-light-blue)}.photos-section{background:#fff;background:var(--griffes-white);border-radius:12px;box-shadow:0 2px 8px #0000000d;padding:20px}.upload-section{border:2px dashed #1e3a8a;border:2px dashed var(--griffes-blue);border-radius:8px;margin-bottom:20px;padding:20px;text-align:center}.file-input{display:none}.btn-upload{background:#1e3a8a;background:var(--griffes-blue);border:none;border-radius:8px;color:#fff;color:var(--griffes-white);cursor:pointer;font-weight:600;padding:10px 20px}.photos-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.photo-item{aspect-ratio:4/3;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;overflow:hidden;position:relative;transition:transform .3s}.photo-item:hover{transform:scale(1.05)}.photo-image{height:100%;object-fit:cover;width:100%}.photo-caption{background:#000000b3;bottom:0;color:#fff;font-size:12px;left:0;padding:8px;position:absolute;right:0}@media (max-width:768px){.header-content{flex-direction:column;gap:15px}.user-section{justify-content:space-between;width:100%}.project-content,.projects-grid{grid-template-columns:1fr}.auth-card{padding:30px 20px}}
/*# sourceMappingURL=main.e262a254.css.map*/