:root{--color-background:#f9fafb;--color-foreground:#1f242e;--color-card:#fff;--color-primary:#dd473c;--color-primary-hover:#c32d22;--color-muted:#737b8c;--color-border:#e2e4e9;--shadow-card:0 1px 3px 0 rgba(31,36,46,.04),0 1px 2px -1px rgba(31,36,46,.04);--shadow-card-hover:0 10px 15px -3px rgba(31,36,46,.08),0 4px 6px -4px rgba(31,36,46,.04);--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius:.75rem;--radius-sm:.5rem;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-slow:.25s ease;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--bottom-nav-height:3.5rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-background);color:var(--color-foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.page{min-height:100vh;background-color:var(--color-background);min-height:100dvh}.container{width:100%;max-width:1280px;padding-left:var(--spacing-md);padding-right:var(--spacing-md);margin:0 auto}@media (min-width:768px){.container{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}}.header{border-bottom:1px solid var(--color-border);background-color:var(--color-card);border-radius:var(--radius)}.nav{justify-content:space-between;align-items:center;height:4rem;display:flex}.logo-container{align-items:center;gap:var(--spacing-sm);display:flex}.logo{width:4rem;height:4rem}.page-title{color:var(--color-foreground);letter-spacing:-.025em;font-size:1.25rem;font-weight:700}@media (min-width:768px){.page-title{font-size:1.5rem}}.nav-link{color:var(--color-primary);transition:opacity var(--transition-fast);font-size:.875rem;font-weight:500}.nav-link:hover{opacity:.8}.main{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}@media (min-width:768px){.main{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-2xl)}}.card{background-color:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-card);border:1px solid var(--color-border)}.counter-card{padding:var(--spacing-lg);margin-bottom:2.5rem}@media (min-width:768px){.counter-card{padding:var(--spacing-xl);margin-bottom:var(--spacing-2xl)}}.counter-content{justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}@media (min-width:640px){.counter-content{flex-direction:row}}.counter-text{color:var(--color-muted);text-align:center}@media (min-width:640px){.counter-text{text-align:left}}.counter-value{color:var(--color-foreground);font-weight:600}.button{color:#fff;background-color:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;min-width:120px;transition:background-color var(--transition-normal),transform var(--transition-fast);border:none;justify-content:center;align-items:center;padding:.625rem 1.5rem;font-family:inherit;font-size:.875rem;font-weight:500;display:inline-flex}.button:hover{background-color:var(--color-primary-hover)}.button:active{transform:scale(.98)}.button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.section-title{color:var(--color-foreground);margin-bottom:var(--spacing-lg);letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.resources-grid{gap:var(--spacing-md);grid-template-columns:1fr;list-style-type:none;display:grid}@media (min-width:640px){.resources-grid{grid-template-columns:repeat(2,1fr)}}.resource-link{display:block}.resource-card{transition:box-shadow var(--transition-slow),transform var(--transition-slow);padding:1.25rem}.resource-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.resource-content{justify-content:space-between;align-items:center;display:flex}.resource-title{color:var(--color-foreground);transition:color var(--transition-fast);font-weight:500}.resource-link:hover .resource-title{color:var(--color-primary)}.login-container{min-height:100vh;padding:var(--spacing-md);justify-content:center;align-items:center;display:flex}.login-card{width:100%;max-width:400px;padding:var(--spacing-xl)}.login-title{text-align:center;margin-bottom:var(--spacing-xs);color:var(--color-primary);font-size:1.5rem;font-weight:700}.login-subtitle{text-align:center;margin-bottom:var(--spacing-lg);color:var(--color-muted);font-size:1rem;font-weight:400}.login-form{gap:var(--spacing-md);flex-direction:column;display:flex}.login-button{width:100%;margin-top:var(--spacing-sm)}.login-logo{width:5rem;height:5rem;margin:0 auto var(--spacing-md);display:block}.form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-label{color:var(--color-foreground);font-size:.875rem;font-weight:500}.form-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-card);color:var(--color-foreground);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);padding:.625rem .75rem;font-family:inherit;font-size:1rem}.form-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px rgba(221,71,60,.1)}.form-input:disabled{background-color:var(--color-background);cursor:not-allowed}.form-input::-webkit-input-placeholder{color:var(--color-muted)}.form-input::-ms-input-placeholder{color:var(--color-muted)}.form-input::placeholder{color:var(--color-muted)}.form-textarea{resize:vertical;min-height:80px}.error-message{padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-sm);color:#ad1f1f;background-color:#fbe9e9;border:1px solid #f0a8a8;font-size:.875rem}.loading{text-align:center;padding:var(--spacing-xl);color:var(--color-muted)}.loading-fullscreen{min-height:100vh;color:var(--color-muted);justify-content:center;align-items:center;display:flex}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-muted)}.nav-center{gap:var(--spacing-sm);display:flex}.nav-button{color:var(--color-muted);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast);background:0 0;border:none;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;text-decoration:none}.nav-button:hover{color:var(--color-foreground);background-color:var(--color-background)}.nav-button.active{color:var(--color-primary);background-color:rgba(221,71,60,.1)}.nav-right{align-items:center;gap:var(--spacing-md);display:flex}.user-info{align-items:center;gap:var(--spacing-sm);display:flex}.user-display-name{color:var(--color-foreground);font-size:.875rem;font-weight:500}.admin-badge{color:#fff;background-color:var(--color-primary);border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.button-secondary{background-color:var(--color-background);color:var(--color-foreground);border:1px solid var(--color-border)}.button-secondary:hover{background-color:var(--color-border)}.button-danger{background-color:#dd3c3c}.button-danger:hover{background-color:#c32222}.button-text{color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:.25rem .5rem;font-family:inherit;font-size:.75rem;font-weight:500}.button-text:hover{color:#dd3c3c}.button-text:disabled{opacity:.5;cursor:not-allowed}.customer-list-container{padding:var(--spacing-lg)0}.customer-list-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.customer-grid{gap:var(--spacing-md);grid-template-columns:1fr;display:grid}@media (min-width:640px){.customer-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.customer-grid{grid-template-columns:repeat(3,1fr)}}.customer-card{padding:var(--spacing-lg);cursor:pointer;transition:box-shadow var(--transition-slow),transform var(--transition-slow);color:inherit;text-decoration:none;display:block}.customer-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.customer-name{color:var(--color-foreground);margin-bottom:var(--spacing-xs);font-size:1.125rem;font-weight:600}.customer-description{color:var(--color-muted);margin-bottom:var(--spacing-xs);font-size:.875rem}.customer-phone{color:var(--color-muted);font-size:.875rem}.detail-description{color:var(--color-muted);margin-bottom:var(--spacing-lg);font-size:1rem}.customer-detail{padding:var(--spacing-lg)0}.detail-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.detail-actions{gap:var(--spacing-sm);display:flex}.detail-content{padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.detail-name{color:var(--color-foreground);margin-bottom:var(--spacing-xs);font-size:1.5rem;font-weight:700}.detail-info{gap:var(--spacing-sm);flex-direction:column;display:flex}.detail-row{gap:var(--spacing-sm);display:flex}.detail-label{color:var(--color-muted);min-width:80px;font-size:.875rem;font-weight:500}.detail-value{color:var(--color-foreground);font-size:.875rem}.detail-value.link{color:var(--color-primary)}.detail-value.link:hover{text-decoration:underline}.detail-audit{margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.8rem}.audit-info strong{color:var(--color-foreground);font-weight:600}.audit-separator{color:var(--color-muted)}.notes-section{margin-top:var(--spacing-xl)}.notes-list{gap:var(--spacing-md);flex-direction:column;display:flex}.note-form{gap:var(--spacing-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.note-form .button{align-self:flex-end}.note-item{padding:var(--spacing-lg)}.note-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.note-author{color:var(--color-foreground);font-size:.875rem;font-weight:600}.note-date{color:var(--color-muted);font-size:.75rem}.note-content{color:var(--color-foreground);white-space:pre-wrap;font-size:.875rem;line-height:1.6}.note-delete{margin-top:var(--spacing-sm)}.modal-overlay{padding:var(--spacing-md);z-index:100;background-color:rgba(0,0,0,.5);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{width:100%;max-width:480px;max-height:90vh;padding:var(--spacing-xl);overflow-y:auto}.modal-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.modal-title{color:var(--color-foreground);font-size:1.25rem;font-weight:600}.modal-close{color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;font-size:1.5rem;line-height:1}.modal-close:hover{color:var(--color-foreground)}.modal-form{gap:var(--spacing-md);flex-direction:column;display:flex}.modal-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md);display:flex}.confirm-modal{text-align:center;max-width:400px}.confirm-modal h3{margin-bottom:var(--spacing-md);font-size:1.25rem;font-weight:600}.confirm-modal p{margin-bottom:var(--spacing-lg);color:var(--color-muted)}.confirm-modal .modal-actions{justify-content:center}.admin-panel{padding:var(--spacing-lg)0}.admin-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.users-list{gap:var(--spacing-md);flex-direction:column;display:flex}.user-card{padding:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.user-info{gap:var(--spacing-xs);flex-direction:column;display:flex}.user-name{color:var(--color-foreground);font-size:1rem;font-weight:600}.user-username{color:var(--color-muted);font-size:.875rem}.role-badge{text-transform:capitalize;border-radius:9999px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.role-admin{color:var(--color-primary);background-color:rgba(221,71,60,.1)}.role-user{color:var(--color-muted);background-color:rgba(115,123,140,.1)}.user-card-right{align-items:center;gap:var(--spacing-md);display:flex}.user-actions{gap:var(--spacing-xs);display:flex}.search-bar{margin-bottom:var(--spacing-lg)}.search-input{width:100%;max-width:400px}.phones-input-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.phone-input-row{align-items:center;gap:var(--spacing-sm);display:flex}.phone-input-row .form-input{flex:1}.button-remove-phone{color:var(--color-muted);padding:.25rem .5rem;font-size:1.25rem;line-height:1}.button-remove-phone:hover{color:#dd3c3c}.button-add-phone{color:var(--color-primary);border:1px dashed var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast);background:0 0;align-self:flex-start;padding:.375rem .75rem;font-family:inherit;font-size:.8rem;font-weight:500}.button-add-phone:hover{border-color:var(--color-primary);background-color:rgba(221,71,60,.05)}.button-add-phone:disabled{opacity:.5;cursor:not-allowed}.detail-phones{gap:var(--spacing-xs);flex-direction:column;display:flex}.customer-phones{flex-direction:column;gap:0;display:flex}.bottom-nav{display:none}@media (max-width:767px){.bottom-nav{height:calc(var(--bottom-nav-height) + var(--safe-area-bottom));padding-bottom:var(--safe-area-bottom);background-color:var(--color-card);border-top:1px solid var(--color-border);z-index:50;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2rem;min-height:44px;padding:0;font-family:inherit;font-size:.7rem;font-weight:500;text-decoration:none;display:flex}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-item:active{background-color:rgba(221,71,60,.05)}.bottom-nav-icon{font-size:1.25rem;line-height:1}.bottom-nav-label{letter-spacing:.01em;font-size:.65rem}.header{z-index:50;padding-top:var(--safe-area-top);border-radius:0;position:-webkit-sticky;position:sticky;top:0}.nav{height:3.5rem}.nav-center{display:none}.nav-right{gap:var(--spacing-sm)}.user-display-name,.nav .admin-badge{display:none}.nav-right .button{min-width:unset;padding:.5rem .75rem;font-size:.8rem}.main{padding-top:var(--spacing-md);padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + var(--spacing-lg))}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:var(--radius)var(--radius)0 0;width:100%;max-width:100%;max-height:92vh;padding:var(--spacing-lg)var(--spacing-md);padding-bottom:calc(var(--spacing-lg) + var(--safe-area-bottom))}.modal:before{content:"";background-color:var(--color-border);width:2.5rem;height:.25rem;margin:0 auto var(--spacing-md);border-radius:9999px;display:block}.modal-actions{gap:var(--spacing-sm);flex-direction:column-reverse}.modal-actions .button{width:100%}.modal-overlay--confirm{padding:var(--spacing-md);align-items:center}.modal-overlay--confirm .modal{border-radius:var(--radius);max-width:400px;padding-bottom:var(--spacing-lg)}.modal-overlay--confirm .modal:before{display:none}.button-text{align-items:center;min-height:44px;padding:.625rem .75rem;display:inline-flex}.button-remove-phone{min-width:44px;min-height:44px;padding:.625rem;font-size:1.5rem}.modal-close{justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.customer-list-header{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.customer-list-header .button{width:100%}.search-input{max-width:100%}.customer-card{padding:var(--spacing-md)}.detail-header{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.detail-actions{width:100%}.detail-actions .button{flex:1}.detail-content{padding:var(--spacing-md)}.detail-value.link{min-height:44px;padding:var(--spacing-xs)0;align-items:center;display:inline-flex}.note-form .button{align-self:stretch;width:100%}.note-form{padding:var(--spacing-md);margin-top:var(--spacing-md)}.admin-header{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.admin-header .button{width:100%}.user-card{align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);flex-direction:column}.user-card-right{justify-content:space-between;width:100%}.login-container{min-height:100dvh;padding:var(--spacing-md);padding-bottom:calc(var(--spacing-md) + var(--safe-area-bottom))}}