@import"https://fonts.googleapis.com/css2?family=Crimson+Text:wght@400;600;700&family=Source+Sans+Pro:wght@300;400;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Source+Sans+3:wght@300;400;500;600&display=swap";:root{--sage-green: #87a96b;--deep-sage: #6b8e4a;--forest-green: #5a7c42;--warm-beige: #f5f2e8;--cream: #faf9f5;--charcoal: #3d3d3d;--stone-gray: #8b8680;--soft-brown: #8d7b68;--gold-accent: #d4af37;--misty-blue: #e8f1f0;--font-serif: "Crimson Text", Georgia, serif;--font-sans: "Source Sans Pro", -apple-system, BlinkMacSystemFont, sans-serif;--section-padding: 5rem 5%;--container-max: 1200px;--border-radius: 8px;--shadow-soft: 0 2px 10px rgba(135, 169, 107, .1);--shadow-medium: 0 4px 20px rgba(135, 169, 107, .15);--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);font-size:16px;line-height:1.6;color:var(--charcoal);background-color:var(--cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.3;color:var(--charcoal)}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.5rem}p{margin-bottom:1rem}a{color:var(--sage-green);text-decoration:none;transition:var(--transition)}a:hover{color:var(--deep-sage)}.container{max-width:var(--container-max);margin:0 auto;padding:0 5%}.section{padding:var(--section-padding)}.section-title{text-align:center;margin-bottom:1rem;color:var(--charcoal)}.section-subtitle{text-align:center;color:var(--stone-gray);max-width:600px;margin:0 auto 3rem}.btn{display:inline-block;padding:.875rem 2rem;font-family:var(--font-sans);font-size:1rem;font-weight:600;text-align:center;border:none;border-radius:var(--border-radius);cursor:pointer;transition:var(--transition)}.btn-primary{background-color:var(--sage-green);color:#fff}.btn-primary:hover{background-color:var(--deep-sage);transform:translateY(-2px);box-shadow:var(--shadow-medium)}.btn-secondary{background-color:transparent;color:var(--sage-green);border:2px solid var(--sage-green)}.btn-secondary:hover{background-color:var(--sage-green);color:#fff}.header{position:fixed;top:0;left:0;right:0;z-index:100;background:#f7f5f0f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(0,0,0,.06)}.header-container{max-width:1100px;margin:0 auto;padding:0 2rem;height:68px;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}.logo-icon{font-size:1.3rem}.logo-text{font-family:Playfair Display,Georgia,serif;font-size:1.2rem;font-weight:700;color:#1a2332}.nav{display:flex;align-items:center;gap:2rem}.nav-link{font-family:"Source Sans 3",sans-serif;font-size:.95rem;font-weight:500;color:#4a4540;text-decoration:none;transition:color .2s ease}.nav-link:hover{color:#7fb069}.lang-switcher{position:relative}.lang-btn{font-family:"Source Sans 3",sans-serif;font-size:.9rem;font-weight:500;color:#4a4540;background:none;border:1px solid rgba(0,0,0,.15);padding:.35rem .8rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:border-color .2s ease,color .2s ease}.lang-btn:hover{border-color:#7fb069;color:#7fb069}.lang-arrow{font-size:.7rem;opacity:.6}.lang-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:0 8px 24px #0000001a;overflow:hidden;min-width:140px;z-index:200}.lang-option{display:block;width:100%;text-align:left;font-family:"Source Sans 3",sans-serif;font-size:.9rem;font-weight:400;color:#4a4540;background:none;border:none;padding:.7rem 1rem;cursor:pointer;transition:background .15s ease}.lang-option:hover{background:#f7f5f0}.lang-option.active{color:#7fb069;font-weight:600}@media (max-width: 600px){.nav{gap:1rem}.nav-link{font-size:.85rem}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;background-color:#0f1923;overflow:hidden;padding:120px 0 80px}.hero-background{position:absolute;inset:0;z-index:0}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(127,176,105,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(127,176,105,.04) 1px,transparent 1px);background-size:60px 60px}.hero-background:after{content:"";position:absolute;top:20%;left:50%;transform:translate(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(127,176,105,.08) 0%,transparent 70%);pointer-events:none}.hero-container{position:relative;z-index:1;max-width:860px;margin:0 auto;padding:0 2rem;text-align:center}.hero-badge{display:inline-block;font-family:"Source Sans 3",sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#7fb069;border:1px solid rgba(127,176,105,.3);padding:.4rem 1.2rem;border-radius:100px;margin-bottom:2rem;animation:fadeInDown .6s ease both}.hero-headline{font-family:Playfair Display,Georgia,serif;font-size:clamp(2.4rem,5vw,3.8rem);font-weight:700;line-height:1.15;color:#f0ece4;margin:0 0 .4rem;animation:fadeInUp .7s ease .1s both}.hero-headline-accent{color:#7fb069}.hero-subheadline{font-family:"Source Sans 3",sans-serif;font-size:clamp(1rem,2vw,1.2rem);font-weight:300;line-height:1.7;color:#a8a098;max-width:620px;margin:1.5rem auto 2rem;animation:fadeInUp .7s ease .2s both}.hero-languages{display:flex;justify-content:center;gap:.6rem;margin-bottom:2.5rem;animation:fadeInUp .7s ease .3s both}.lang-pill{font-family:"Source Sans 3",sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.08em;color:#f0ece4;background:#ffffff12;border:1px solid rgba(255,255,255,.12);padding:.3rem .9rem;border-radius:4px}.hero-actions{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:4rem;animation:fadeInUp .7s ease .4s both;flex-wrap:wrap}.hero-btn-primary{font-family:"Source Sans 3",sans-serif;font-size:1rem;font-weight:600;letter-spacing:.02em;color:#0f1923;background:#7fb069;border:none;padding:.9rem 2rem;border-radius:6px;cursor:pointer;transition:background .2s ease,transform .2s ease}.hero-btn-primary:hover{background:#6d9d58;transform:translateY(-2px)}.hero-btn-secondary{font-family:"Source Sans 3",sans-serif;font-size:1rem;font-weight:500;color:#a8a098;text-decoration:none;border:1px solid rgba(168,160,152,.3);padding:.9rem 2rem;border-radius:6px;transition:color .2s ease,border-color .2s ease}.hero-btn-secondary:hover{color:#f0ece4;border-color:#f0ece466}.hero-stats{display:flex;justify-content:center;align-items:center;gap:2.5rem;flex-wrap:wrap;animation:fadeInUp .7s ease .5s both}.hero-stat{display:flex;flex-direction:column;align-items:center;gap:.3rem}.hero-stat-number{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;color:#f0ece4;line-height:1}.hero-stat-label{font-family:"Source Sans 3",sans-serif;font-size:.75rem;font-weight:400;letter-spacing:.05em;color:#6b6460;text-transform:uppercase}.hero-stat-divider{width:1px;height:40px;background:#ffffff1a}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 600px){.hero-stats{gap:1.5rem}.hero-stat-divider{display:none}.hero-stat-number{font-size:1.5rem}}.services{background-color:#f7f5f0;padding:100px 0}.services-container{max-width:1100px;margin:0 auto;padding:0 2rem}.services-header{text-align:center;margin-bottom:4rem}.services-label{font-family:"Source Sans 3",sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#7fb069;margin-bottom:.8rem}.services-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;color:#1a2332;margin:0 0 1rem}.services-subtitle{font-family:"Source Sans 3",sans-serif;font-size:1.05rem;font-weight:300;color:#6b6460;max-width:520px;margin:0 auto;line-height:1.7}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.service-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:10px;padding:2.5rem;transition:transform .2s ease,box-shadow .2s ease}.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000014}.service-icon{font-size:2rem;margin-bottom:1.2rem;display:block}.service-card-title{font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600;color:#1a2332;margin:0 0 .8rem}.service-card-description{font-family:"Source Sans 3",sans-serif;font-size:.95rem;font-weight:300;line-height:1.75;color:#6b6460;margin:0}@media (max-width: 700px){.services-grid{grid-template-columns:1fr}}.trust{background-color:#0f1923;padding:100px 0}.trust-container{max-width:1100px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:center}.trust-label{font-family:"Source Sans 3",sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#7fb069;margin-bottom:1rem}.trust-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:700;color:#f0ece4;line-height:1.2;margin:0 0 1.8rem}.trust-title-accent{color:#7fb069}.trust-text{font-family:"Source Sans 3",sans-serif;font-size:1rem;font-weight:300;line-height:1.8;color:#a8a098;margin:0 0 1.2rem}.trust-languages{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.trust-lang{font-family:"Source Sans 3",sans-serif;font-size:.9rem;font-weight:500;color:#f0ece4;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);padding:.4rem 1rem;border-radius:100px}.trust-right{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.trust-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:1.8rem;display:flex;flex-direction:column;gap:.4rem}.trust-card-wide{grid-column:1 / -1;flex-direction:row;align-items:flex-start;gap:1rem}.trust-card-number{font-family:Playfair Display,serif;font-size:2rem;font-weight:700;color:#7fb069;line-height:1}.trust-card-label{font-family:"Source Sans 3",sans-serif;font-size:.8rem;font-weight:400;color:#6b6460;text-transform:uppercase;letter-spacing:.05em}.trust-card-icon{font-size:1.5rem;flex-shrink:0;margin-top:2px}.trust-card-label-bold{display:block;font-family:"Source Sans 3",sans-serif;font-size:.95rem;font-weight:600;color:#f0ece4;margin-bottom:.3rem}.trust-card-sublabel{font-family:"Source Sans 3",sans-serif;font-size:.85rem;font-weight:300;color:#6b6460;line-height:1.6}@media (max-width: 800px){.trust-container{grid-template-columns:1fr;gap:3rem}}.cta-section{background-color:#7fb069;padding:80px 0}.cta-container{max-width:700px;margin:0 auto;padding:0 2rem;text-align:center}.cta-label{font-family:"Source Sans 3",sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:#0f192399;margin-bottom:1rem}.cta-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;color:#0f1923;margin:0 0 1rem;line-height:1.2}.cta-subtitle{font-family:"Source Sans 3",sans-serif;font-size:1.05rem;font-weight:300;color:#0f1923b3;line-height:1.7;margin:0 0 2.5rem}.cta-btn{font-family:"Source Sans 3",sans-serif;font-size:1rem;font-weight:600;letter-spacing:.02em;color:#7fb069;background:#0f1923;border:none;padding:1rem 2.5rem;border-radius:6px;cursor:pointer;transition:transform .2s ease,background .2s ease}.cta-btn:hover{background:#1a2332;transform:translateY(-2px)}.contact{background-color:var(--cream)}.contact-form{max-width:700px;margin:0 auto;background:#fff;padding:3rem;border-radius:var(--border-radius);box-shadow:var(--shadow-soft)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--charcoal);font-size:.95rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;font-family:var(--font-sans);font-size:1rem;border:1px solid rgba(135,169,107,.3);border-radius:var(--border-radius);background:var(--cream);color:var(--charcoal);transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--sage-green);box-shadow:0 0 0 3px #87a96b1a}.form-group textarea{resize:vertical;min-height:120px}.form-group select{cursor:pointer}.checkbox-group{display:flex;align-items:flex-start;gap:.75rem}.checkbox-group input[type=checkbox]{width:auto;margin-top:.25rem;cursor:pointer}.checkbox-group label{margin-bottom:0;font-weight:400;font-size:.9rem;color:var(--stone-gray);line-height:1.5}.checkbox-group a{color:var(--sage-green)}.btn-large{width:100%;padding:1rem 2rem;font-size:1.1rem}.contact-info{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(135,169,107,.2)}.contact-info p{color:var(--stone-gray);margin-bottom:0}.contact-info a{color:var(--sage-green);font-weight:600}.contact-info a:hover{color:var(--deep-sage)}@media (max-width: 768px){.form-row{grid-template-columns:1fr;gap:0}.contact-form{padding:2rem}}.privacy-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.privacy-modal{background:#fff;border-radius:8px;padding:40px;max-width:700px;width:100%;max-height:80vh;overflow-y:auto;position:relative}.privacy-modal h2{font-family:Playfair Display,serif;color:#0f1923;font-size:1.8rem;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid #7ea67a}.privacy-modal h3{font-family:"Source Sans 3",sans-serif;color:#0f1923;font-size:1rem;font-weight:700;margin-top:24px;margin-bottom:8px}.privacy-modal p{color:#444;line-height:1.7;font-size:.95rem}.privacy-close{position:absolute;top:16px;right:20px;background:none;border:none;font-size:.9rem;color:#666;cursor:pointer;padding:4px 8px}.privacy-close:hover{color:#0f1923}.footer{background-color:var(--charcoal);color:#fff;padding:4rem 5% 2rem}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;max-width:var(--container-max);margin:0 auto}.footer-brand{padding-right:2rem}.footer-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.footer-logo .logo-icon{font-size:1.5rem}.footer-logo .logo-text{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;color:#fff}.footer-tagline{color:var(--stone-gray);font-size:.95rem;line-height:1.6;margin-bottom:0}.footer-links,.footer-contact,.footer-legal{display:flex;flex-direction:column}.footer h4{font-family:var(--font-sans);font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#fff;margin-bottom:1.25rem}.footer a{color:var(--stone-gray);font-size:.95rem;margin-bottom:.75rem;transition:var(--transition)}.footer a:hover{color:var(--sage-green)}.footer-contact p{margin-bottom:.75rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:3rem;padding-top:2rem;display:flex;justify-content:space-between;align-items:center;max-width:var(--container-max);margin-left:auto;margin-right:auto}.footer-bottom p{color:var(--stone-gray);font-size:.9rem;margin-bottom:0}.footer-location{display:flex;align-items:center;gap:.5rem}@media (max-width: 992px){.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.footer-brand{grid-column:1 / -1;padding-right:0}}@media (max-width: 576px){.footer-grid{grid-template-columns:1fr;gap:2rem}.footer-bottom{flex-direction:column;gap:.5rem;text-align:center}}.footer-privacy-link{background:none;border:none;padding:0;cursor:pointer;color:var(--stone-gray);font-size:.95rem;font-family:inherit;text-align:left;text-decoration:none;display:block;margin-bottom:.75rem}.footer-privacy-link:hover{color:var(--sage-green)}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f2e8,#e8f1f0);padding:2rem;font-family:Source Sans Pro,-apple-system,BlinkMacSystemFont,sans-serif}.login-card{background:#fff;border-radius:12px;box-shadow:0 4px 24px #87a96b26;padding:3rem;width:100%;max-width:420px;border:1px solid rgba(135,169,107,.1)}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{font-family:Crimson Text,Georgia,serif;font-size:2.5rem;color:#87a96b;margin:0 0 .5rem;font-weight:600}.login-header p{color:#8b8680;font-size:1rem;margin:0}.login-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#3d3d3d;font-size:.9rem}.form-group input{padding:.875rem 1rem;border:1px solid #e5e5e5;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease;background:#faf9f5}.form-group input:focus{outline:none;border-color:#87a96b;box-shadow:0 0 0 3px #87a96b26;background:#fff}.form-group input:disabled{background:#f0f0f0;cursor:not-allowed}.form-group input::placeholder{color:#a0a0a0}.login-button{background:#87a96b;color:#fff;border:none;padding:1rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease;font-family:inherit;margin-top:.5rem}.login-button:hover:not(:disabled){background:#6b8e4a}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{background:#b8c9a8;cursor:not-allowed}.login-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(135,169,107,.15)}.login-footer p{color:#8b8680;font-size:.85rem;margin:0}@media (max-width: 480px){.login-card{padding:2rem 1.5rem}.login-header h1{font-size:2rem}}.dashboard-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background-color:var(--warm-beige, #f5f2e8)}.dashboard-sidebar{background-color:var(--deep-sage, #6b8e4a);color:#fff;display:flex;flex-direction:column}.sidebar-logo{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo h2{font-family:Crimson Text,serif;font-size:1.75rem;margin:0;color:#fff}.sidebar-nav{padding:1rem 0;flex:1}.nav-item{display:flex;align-items:center;width:100%;padding:.875rem 1.5rem;border:none;background:transparent;color:#ffffffd9;font-family:Source Sans Pro,sans-serif;font-size:1rem;cursor:pointer;transition:all .2s ease;text-align:left}.nav-item:hover{background-color:#ffffff1a;color:#fff}.nav-item.active{background-color:#fff3;color:#fff;border-left:3px solid white}.nav-icon{font-size:1.25rem;margin-right:.75rem;width:24px}.nav-label{font-weight:500}.dashboard-main{display:flex;flex-direction:column;overflow:hidden}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#fff;border-bottom:1px solid rgba(0,0,0,.08);box-shadow:0 1px 3px #0000000a}.header-title h1{font-family:Crimson Text,serif;font-size:1.5rem;color:var(--charcoal, #3d3d3d);margin:0}.header-user{display:flex;align-items:center;gap:1rem}.user-name{font-family:Source Sans Pro,sans-serif;font-size:.95rem;color:var(--charcoal, #3d3d3d);font-weight:500}.logout-button{padding:.5rem 1rem;background-color:transparent;border:1px solid var(--sage-green, #87a96b);color:var(--sage-green, #87a96b);font-family:Source Sans Pro,sans-serif;font-size:.875rem;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s ease}.logout-button:hover{background-color:var(--sage-green, #87a96b);color:#fff}.dashboard-content{flex:1;padding:2rem;overflow-y:auto}.content-placeholder{background-color:#fff;border-radius:8px;padding:3rem;text-align:center;box-shadow:0 1px 3px #0000000f}.content-placeholder h2{font-family:Crimson Text,serif;font-size:1.75rem;color:var(--deep-sage, #6b8e4a);margin:0 0 1rem}.content-placeholder p{font-family:Source Sans Pro,sans-serif;font-size:1.1rem;color:var(--charcoal, #3d3d3d);margin:0 0 .5rem}.placeholder-note{color:var(--stone-gray, #8b8680);font-size:.95rem;font-style:italic}@media (max-width: 768px){.dashboard-layout{grid-template-columns:1fr}.dashboard-sidebar{display:none}.dashboard-header,.dashboard-content{padding:1rem}}.contacts-container{padding:0}.contacts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.contacts-header h1{font-family:Crimson Text,serif;font-size:1.8rem;color:#3d3d3d;margin:0}.btn-add-contact{background-color:#87a96b;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-add-contact:hover{background-color:#6b8e4a}.contacts-loading,.contacts-error,.contacts-empty{text-align:center;padding:3rem;color:#8b8680}.contacts-error{color:#c0392b}.contacts-empty p{margin:.5rem 0}.contacts-table-wrapper{overflow-x:auto;border-radius:8px;box-shadow:0 1px 3px #0000001a}.contacts-table{width:100%;border-collapse:collapse;background:#fff;font-size:.9rem}.contacts-table thead{background-color:#f5f2e8}.contacts-table th{text-align:left;padding:.9rem 1rem;font-weight:600;color:#3d3d3d;border-bottom:2px solid #e0ddd5}.contacts-table td{padding:.8rem 1rem;border-bottom:1px solid #eee;color:#3d3d3d}.contacts-table tbody tr:hover{background-color:#faf9f5}.contact-name{font-weight:500}.contact-type-badge{display:inline-block;padding:.25rem .6rem;border-radius:12px;font-size:.8rem;font-weight:500}.contact-type-badge.private{background-color:#e8f4ea;color:#2d5a3d}.contact-type-badge.organization{background-color:#e8f1f4;color:#2d4a5a}.contact-type-badge.company{background-color:#f4f1e8;color:#5a4a2d}.contact-actions{white-space:nowrap}.contact-actions button{background:none;border:none;cursor:pointer;padding:.3rem .5rem;font-size:1rem;opacity:.7;transition:opacity .2s ease}.contact-actions button:hover{opacity:1}.contacts-footer{margin-top:1rem;padding:.8rem;text-align:right;color:#8b8680;font-size:.85rem}@media (max-width: 768px){.contacts-header{flex-direction:column;gap:1rem;align-items:flex-start}.contacts-table{font-size:.85rem}.contacts-table th,.contacts-table td{padding:.6rem .5rem}}.contact-form-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:flex-start;padding:2rem;overflow-y:auto;z-index:1000}.contact-form-modal{background:#fff;border-radius:12px;width:100%;max-width:700px;max-height:fit-content;box-shadow:0 10px 40px #0003}.form-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e0ddd5;background-color:#f5f2e8;border-radius:12px 12px 0 0}.form-header h2{margin:0;font-family:Crimson Text,serif;font-size:1.4rem;color:#3d3d3d}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#8b8680;padding:.25rem;line-height:1;transition:color .2s ease}.btn-close:hover{color:#3d3d3d}.form-error{background-color:#fdecea;color:#c0392b;padding:.75rem 1.5rem;font-size:.9rem}form{padding:1.5rem}.form-section{margin-bottom:1.5rem}.form-section h3{font-family:Crimson Text,serif;font-size:1.1rem;color:#3d3d3d;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid #e0ddd5}.contact-type-selector{display:flex;gap:.75rem;flex-wrap:wrap}.type-option{flex:1;min-width:140px;padding:.75rem 1rem;border:2px solid #e0ddd5;border-radius:8px;cursor:pointer;text-align:center;transition:all .2s ease;background:#fff}.type-option:hover{border-color:#87a96b}.type-option.selected{border-color:#87a96b;background-color:#f0f5ec}.type-option input{display:none}.type-option span{font-size:.9rem;color:#3d3d3d}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-group{flex:1}.form-group.full-width{flex:100%}.form-group label{display:block;margin-bottom:.4rem;font-size:.85rem;font-weight:500;color:#3d3d3d}.form-label{display:block;margin-bottom:.5rem;font-size:.9rem;font-weight:600;color:#3d3d3d}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;color:#3d3d3d;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#87a96b;box-shadow:0 0 0 3px #87a96b26}.form-group input::placeholder,.form-group textarea::placeholder{color:#aaa}.form-group textarea{resize:vertical;min-height:80px}.form-buttons{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0ddd5}.btn-cancel{padding:.6rem 1.25rem;border:1px solid #ddd;background:#fff;color:#666;border-radius:6px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background-color:#f5f5f5;border-color:#ccc}.btn-save{padding:.6rem 1.5rem;border:none;background-color:#87a96b;color:#fff;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.btn-save:hover{background-color:#6b8e4a}.btn-save:disabled{background-color:#ccc;cursor:not-allowed}@media (max-width: 600px){.contact-form-overlay{padding:1rem}.contact-form-modal{border-radius:8px}.form-header{border-radius:8px 8px 0 0}.form-row{flex-direction:column;gap:0}.contact-type-selector{flex-direction:column}.type-option{min-width:100%}.form-buttons{flex-direction:column-reverse}.btn-cancel,.btn-save{width:100%}}.contact-view-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.contact-view-modal{background:#fff;border-radius:12px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.view-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.view-header-left{display:flex;flex-direction:column;gap:8px}.view-header h2{margin:0;font-size:1.5rem;color:#1f2937}.view-header .contact-type-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:500;width:fit-content}.view-header .contact-type-badge.private{background:#e0f2fe;color:#0369a1}.view-header .contact-type-badge.organization{background:#fef3c7;color:#b45309}.view-header .contact-type-badge.company{background:#d1fae5;color:#047857}.view-header .btn-close{background:none;border:none;font-size:1.5rem;color:#9ca3af;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.view-header .btn-close:hover{background:#f3f4f6;color:#1f2937}.view-tabs{display:flex;gap:4px;padding:0 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.tab-button{display:flex;align-items:center;gap:6px;padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;color:#6b7280;font-size:.9rem;cursor:pointer;transition:all .2s;margin-bottom:-1px}.tab-button:hover:not(.disabled){color:#374151;background:#f3f4f6}.tab-button.active{color:#059669;border-bottom-color:#059669;font-weight:500}.tab-button.disabled{color:#d1d5db;cursor:not-allowed}.tab-icon{font-size:1rem}.tab-label{font-size:.9rem}.view-content{flex:1;overflow-y:auto;padding:24px}.view-section{margin-bottom:24px}.view-section:last-child{margin-bottom:0}.view-section h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;color:#6b7280;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.view-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.view-field{display:flex;flex-direction:column;gap:4px}.view-field.full-width{grid-column:span 2}.view-field label{font-size:.8rem;color:#9ca3af;font-weight:500}.view-field span{font-size:.95rem;color:#1f2937}.view-notes{background:#f9fafb;padding:12px 16px;border-radius:8px;font-size:.9rem;color:#374151;line-height:1.5;white-space:pre-wrap}.tab-content-coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.coming-soon-icon{font-size:3rem;margin-bottom:16px}.tab-content-coming-soon h3{margin:0 0 8px;color:#374151;font-size:1.2rem}.tab-content-coming-soon p{margin:0;color:#9ca3af;font-size:.95rem}.view-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px}.view-footer .btn-secondary{padding:10px 20px;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.9rem;cursor:pointer;transition:all .2s}.view-footer .btn-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.view-footer .btn-primary{padding:10px 20px;background:#059669;border:none;border-radius:6px;color:#fff;font-size:.9rem;cursor:pointer;transition:all .2s}.view-footer .btn-primary:hover{background:#047857}@media (max-width: 600px){.contact-view-modal{max-height:100vh;border-radius:0}.view-grid{grid-template-columns:1fr}.view-field.full-width{grid-column:span 1}.view-tabs{overflow-x:auto}.tab-button{padding:10px 12px}.tab-label{display:none}.tab-icon{font-size:1.2rem}}
