:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}html{scroll-behavior:smooth}*{margin:0;padding:0;box-sizing:border-box}.app{font-family:Georgia,Times New Roman,serif;color:#2c2c2c;background-color:#fff}.navbar{position:fixed;top:0;left:0;right:0;background-color:#fff;border-bottom:1px solid #e5e5e5;z-index:1000;padding:0;box-shadow:0 1px 2px #0000000a}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;min-height:72px}.logo{font-size:1.1rem;font-weight:400;color:#1a1a1a;letter-spacing:.4px;text-decoration:none;transition:color .2s}.logo:hover{color:#4a4a4a}.nav-menu{display:flex;list-style:none;gap:.25rem;margin:0;padding:0;align-items:center}.nav-menu li{display:flex;align-items:center}.nav-link{color:#4a4a4a;text-decoration:none;font-size:.9375rem;font-family:system-ui,sans-serif;letter-spacing:.2px;cursor:pointer;transition:color .2s,background-color .2s;padding:.5rem .75rem;border-radius:4px}.nav-link:hover{color:#8b7355}.nav-sep{width:1px;min-width:1px;height:1.25rem;background-color:#e0e0e0;margin:0 .5rem;padding:0}.nav-logout{background:transparent;border:1px solid #d8d8d8;color:#4a4a4a;font-size:.9375rem;font-family:system-ui,sans-serif;letter-spacing:.2px;cursor:pointer;padding:.45rem .9rem;border-radius:4px;transition:border-color .2s,color .2s,background-color .2s}.nav-logout:hover{border-color:#8b7355;color:#8b7355;background-color:#8b73550f}.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:4px;transition:background-color .2s}.nav-hamburger:hover{background-color:#0000000d}.nav-hamburger-bar{display:block;width:22px;height:2px;background-color:#2c2c2c;border-radius:1px;transition:transform .25s,opacity .25s}.navbar-menu-open .nav-hamburger-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar-menu-open .nav-hamburger-bar:nth-child(2){opacity:0}.navbar-menu-open .nav-hamburger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.main-content{padding-top:72px}.page-section{padding-top:2rem}.hero{min-height:85vh;display:flex;align-items:center;background:#f8f6f3;padding:8rem 2rem 4rem;margin-top:-72px}.hero-container{max-width:1100px;margin:0 auto;width:100%}.hero-content{max-width:700px}.hero-title{font-size:3.5rem;font-weight:400;line-height:1.2;margin-bottom:1.5rem;color:#1a1a1a}.hero-description{font-size:1.2rem;line-height:1.7;color:#5a5a5a;margin-bottom:2.5rem;font-family:system-ui,sans-serif}.cta-button{display:inline-block;background-color:#8b7355;color:#fff;border:none;padding:1rem 2.5rem;font-size:1rem;font-family:system-ui,sans-serif;letter-spacing:.5px;cursor:pointer;transition:background-color .3s;text-decoration:none;text-align:center}.cta-button:hover{background-color:#6f5d47}.container{max-width:1100px;margin:0 auto}.about{padding:6rem 2rem;background-color:#fff}.about-grid{display:grid;grid-template-columns:2fr 1fr;gap:4rem}.about-content-text h2{font-size:2.5rem;font-weight:400;margin-bottom:2rem;color:#1a1a1a}.about-content-text p{line-height:1.8;margin-bottom:1.5rem;color:#5a5a5a;font-family:system-ui,sans-serif}.about-content-text p:first-of-type{font-size:1.2rem;color:#3a3a3a}.about-sidebar{border:1px solid #e0e0e0;padding:2rem;background-color:#fafafa}.about-sidebar-item{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e0e0e0}.about-sidebar-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.about-sidebar-label{font-size:.85rem;font-family:system-ui,sans-serif;letter-spacing:1px;color:#8b7355;margin-bottom:.75rem}.about-sidebar-value{color:#2c2c2c;margin-bottom:.5rem;font-family:system-ui,sans-serif}.about-sidebar-value:last-child{margin-bottom:0}.practice-areas{padding:6rem 2rem;background-color:#f8f6f3}.section-title{font-size:2.5rem;font-weight:400;margin-bottom:3rem;color:#1a1a1a;text-align:center}.practice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.practice-card{background-color:#fff;padding:2.5rem;border:1px solid #e0e0e0}.practice-card h3{font-size:1.5rem;font-weight:400;margin-bottom:1rem;color:#1a1a1a}.practice-card p{line-height:1.7;color:#5a5a5a;font-family:system-ui,sans-serif}.approach{padding:6rem 2rem;background-color:#fff}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}.approach-item{text-align:center}.approach-item h3{font-size:1.35rem;font-weight:400;margin-bottom:1rem;color:#1a1a1a}.approach-item p{line-height:1.7;color:#5a5a5a;font-family:system-ui,sans-serif}.contact{padding:6rem 2rem;background-color:#f8f6f3}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact-info h2{font-size:2.5rem;font-weight:400;margin-bottom:1.5rem;color:#1a1a1a}.contact-info p{font-size:1.1rem;line-height:1.7;margin-bottom:3rem;color:#5a5a5a;font-family:system-ui,sans-serif}.contact-info-list{display:flex;flex-direction:column;gap:2rem}.contact-info-label{font-size:.85rem;font-family:system-ui,sans-serif;letter-spacing:1px;color:#8b7355;margin-bottom:.5rem}.contact-info-value{color:#2c2c2c;font-family:system-ui,sans-serif;white-space:pre-line}.contact-form-container{background-color:#fff;padding:2.5rem;border:1px solid #e0e0e0}.contact-form-container h3{font-size:1.5rem;font-weight:400;margin-bottom:2rem;color:#1a1a1a}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.contact-form-success{padding:1rem;background-color:#e6f4ea;color:#1e8e3e;font-size:.95rem;font-family:system-ui,sans-serif;border-radius:4px;margin:0}.contact-form-error{padding:1rem;background-color:#fde8e8;color:#b91c1c;font-size:.95rem;font-family:system-ui,sans-serif;border-radius:4px;margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-label{display:block;margin-bottom:.5rem;color:#2c2c2c;font-size:.9rem;font-family:system-ui,sans-serif}.form-input,.form-textarea{width:100%;padding:.75rem;border:1px solid #d0d0d0;font-size:1rem;font-family:system-ui,sans-serif}.form-textarea{resize:vertical}.submit-button{background-color:#8b7355;color:#fff;border:none;padding:1rem;font-size:1rem;font-family:system-ui,sans-serif;letter-spacing:.5px;cursor:pointer;transition:background-color .3s}.submit-button:hover{background-color:#6f5d47}.submit-button:disabled{opacity:.7;cursor:not-allowed}.auth-container{max-width:420px;margin:4rem auto;background-color:#fff;padding:2.5rem;border:1px solid #e0e0e0}.auth-tabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:1px solid #e0e0e0}.auth-tab{flex:1;padding:.75rem 1rem;border:none;background:transparent;font-size:.95rem;font-family:system-ui,sans-serif;color:#5a5a5a;cursor:pointer;transition:color .2s,border-color .2s;border-bottom:2px solid transparent;margin-bottom:-1px}.auth-tab:hover{color:#1a1a1a}.auth-tab.active{color:#8b7355;border-bottom-color:#8b7355;font-weight:500}.auth-social{margin-bottom:1.5rem}.auth-google-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem 1rem;border:1px solid #d0d0d0;background-color:#fff;font-size:1rem;font-family:system-ui,sans-serif;color:#2c2c2c;cursor:pointer;transition:background-color .2s,border-color .2s}.auth-google-btn:hover:not(:disabled){background-color:#f8f6f3;border-color:#b0b0b0}.auth-google-btn:disabled{cursor:not-allowed;opacity:.7}.auth-google-icon{width:20px;height:20px;flex-shrink:0}.auth-divider{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;color:#5a5a5a;font-size:.9rem;font-family:system-ui,sans-serif}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background-color:#e0e0e0}.auth-form{margin-bottom:1.5rem}.auth-error{background-color:#fde8e8;color:#b91c1c;padding:.75rem;margin-bottom:1rem;font-size:.9rem;font-family:system-ui,sans-serif}.auth-footer{text-align:center;margin-top:1rem}.auth-footer .nav-link{font-size:.9rem}.dashboard{padding:0;background-color:#f8f6f3;min-height:calc(100vh - 72px)}.dashboard-loading{padding:4rem 2rem;text-align:center;font-family:system-ui,sans-serif;color:#5a5a5a}.dashboard-layout{display:flex;min-height:calc(100vh - 72px)}.dashboard-sidebar{width:260px;flex-shrink:0;background-color:#fff;border-right:1px solid #e0e0e0;padding:2rem 0}.dashboard-sidebar-header{padding:0 1.5rem 1.5rem;border-bottom:1px solid #e0e0e0;margin-bottom:1rem}.dashboard-sidebar-title{font-size:1.35rem;font-weight:400;margin-bottom:.25rem;color:#1a1a1a}.dashboard-sidebar-user{font-size:.9rem;color:#5a5a5a;font-family:system-ui,sans-serif}.dashboard-menu{display:flex;flex-direction:column;gap:0}.dashboard-menu-item{display:block;padding:.875rem 1.5rem;font-size:1rem;font-family:system-ui,sans-serif;color:#4a4a4a;text-decoration:none;transition:background-color .2s,color .2s;border-left:3px solid transparent}.dashboard-menu-item:hover{background-color:#f8f6f3;color:#1a1a1a}.dashboard-menu-item.active{background-color:#f0ebe3;color:#8b7355;font-weight:500;border-left-color:#8b7355}.dashboard-main{flex:1;padding:2rem 2.5rem 4rem;overflow:auto}.dashboard-content{max-width:700px}.dashboard-content-title{font-size:1.75rem;font-weight:400;margin-bottom:.5rem;color:#1a1a1a}.dashboard-content-desc{font-size:1rem;color:#5a5a5a;font-family:system-ui,sans-serif;margin-bottom:1.5rem;line-height:1.5}.dashboard-citas-embed{min-height:900px;width:100%}.dashboard-citas-embed iframe{width:100%;min-height:900px;height:100%}.dashboard-citas-setup{padding:1.5rem;background-color:#f8f6f3;border:1px solid #e0e0e0;font-family:system-ui,sans-serif;color:#5a5a5a;line-height:1.6}.dashboard-citas-setup code{background-color:#eee;padding:.15rem .4rem;border-radius:3px;font-size:.9em}.dashboard-card-note{margin-top:1.5rem;font-size:.9rem;color:#5a5a5a;font-family:system-ui,sans-serif;line-height:1.5;font-style:italic}.dashboard-ajustes-list{display:flex;flex-direction:column;gap:1rem}.dashboard-ajustes-row{display:flex;flex-direction:column;gap:.25rem}.dashboard-ajustes-label{font-size:.85rem;font-family:system-ui,sans-serif;letter-spacing:.5px;color:#8b7355}.dashboard-ajustes-value{font-family:system-ui,sans-serif;color:#2c2c2c}.dashboard-ajustes-id{font-size:.9rem;word-break:break-all}.dashboard-casos-loading{padding:1.5rem 0;color:#5a5a5a;font-family:system-ui,sans-serif}.dashboard-casos-error{padding:1rem;margin-bottom:1rem;background-color:#fde8e8;color:#b91c1c;font-size:.95rem;font-family:system-ui,sans-serif;border-radius:4px}.dashboard-casos-empty{padding:1.5rem 0;text-align:center;color:#5a5a5a;font-family:system-ui,sans-serif}.dashboard-casos-empty-hint{font-size:.9rem;margin-top:.75rem;line-height:1.5;color:gray}.dashboard-casos-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.dashboard-casos-item{padding:1rem;border:1px solid #e0e0e0;background-color:#fafafa}.dashboard-casos-item-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.dashboard-casos-item-header strong{font-weight:500;color:#1a1a1a}.dashboard-casos-status{font-size:.8rem;font-family:system-ui,sans-serif;padding:.25rem .5rem;background-color:#e8e8e8;color:#4a4a4a}.dashboard-casos-status-en_proceso,.dashboard-casos-status-documentacion,.dashboard-casos-status-audiencia{background-color:#e8f0fe;color:#1a73e8}.dashboard-casos-status-resuelto,.dashboard-casos-status-cerrado{background-color:#e6f4ea;color:#1e8e3e}.dashboard-casos-item-desc{font-size:.95rem;color:#5a5a5a;margin-bottom:.5rem;font-family:system-ui,sans-serif}.dashboard-casos-item-date{font-size:.85rem;color:gray;font-family:system-ui,sans-serif;margin:0}@media(max-width:768px){.dashboard{min-height:calc(100vh - 56px)}.dashboard-layout{flex-direction:column;min-height:calc(100vh - 56px)}.dashboard-sidebar{width:100%;border-right:none;border-bottom:1px solid #e0e0e0;padding:.75rem 0}.dashboard-sidebar-header{padding:0 1rem .75rem;margin-bottom:.5rem}.dashboard-sidebar-title{font-size:1.15rem}.dashboard-sidebar-user{font-size:.85rem}.dashboard-menu{flex-direction:row;padding:0 1rem;gap:.25rem}.dashboard-menu-item{padding:.5rem 1rem;border-left:none;border-bottom:3px solid transparent;font-size:.95rem}.dashboard-menu-item.active{border-left:none;border-bottom-color:#8b7355}.dashboard-main{padding:1.25rem 1rem 2rem}.dashboard-citas-embed,.dashboard-citas-embed iframe{min-height:750px}}.footer{background-color:#2c2c2c;color:#b0b0b0;padding:3rem 2rem;text-align:center;font-family:system-ui,sans-serif}.footer-container{max-width:1100px;margin:0 auto}.footer p{margin-bottom:1rem;font-size:.95rem}.footer p:last-child{margin-bottom:0;font-size:.85rem;color:gray;line-height:1.6}@media(max-width:768px){.nav-hamburger{display:flex}.nav-container{flex-wrap:nowrap;min-height:56px;padding:0 1rem}.logo{font-size:.95rem;letter-spacing:.2px;max-width:calc(100% - 52px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar .nav-menu{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background-color:#fff;border-bottom:1px solid #e5e5e5;box-shadow:0 4px 12px #00000014;max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .2s ease;padding:0}.navbar-menu-open .nav-menu{max-height:85vh;overflow-y:auto;opacity:1}.navbar .nav-menu li{border-bottom:1px solid #f0f0f0}.navbar .nav-menu li:last-child{border-bottom:none}.navbar .nav-sep{display:none}.navbar .nav-link,.navbar .nav-logout{display:block;width:100%;text-align:left;padding:1rem 1.25rem;font-size:1rem;border-radius:0;border:none;background:transparent}.navbar .nav-logout{margin:0}.main-content{padding-top:56px}.hero{margin-top:-56px;padding-top:6rem}.hero-title{font-size:2.5rem}.hero-description{font-size:1.1rem}.about-grid{grid-template-columns:1fr;gap:2rem}.practice-grid{grid-template-columns:1fr}.approach-grid,.contact-grid{grid-template-columns:1fr;gap:2rem}.form-row{grid-template-columns:1fr}}@media(max-width:480px){.logo{font-size:.85rem}.hero{padding:5rem 1rem 3rem}.hero-title,.section-title{font-size:2rem}.about,.practice-areas,.approach,.contact{padding:4rem 1rem}}
