@media(display-mode:standalone){html{font-size:112.5%}}:root{--bg-gradient-start: #fafafa;--bg-gradient-end: #f4f4f5;--card-bg: #ffffff;--text-primary: #18181b;--text-secondary: #71717a;--border-color: #e4e4e7;--input-bg: #ffffff;--input-border: #d4d4d8;--shadow: 0 4px 6px -1px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08);--primary: #52525b;--primary-hover: #3f3f46;--secondary-bg: #fafafa;--secondary-hover: #f4f4f5;--male-bg: #e0e7ff;--male-text: #475569;--male-value: #64748b;--female-bg: #fce7f3;--female-text: #71717a;--female-value: #a1a1aa}body.dark-mode{--bg-gradient-start: #09090b;--bg-gradient-end: #18181b;--card-bg: #27272a;--text-primary: #fafafa;--text-secondary: #d1d5db;--border-color: #3f3f46;--input-bg: #3f3f46;--input-border: #52525b;--shadow: 0 4px 6px -1px rgb(0 0 0 / .5);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .6);--secondary-bg: #3f3f46;--secondary-hover: #52525b;--male-bg: #1e293b;--male-text: #94a3b8;--male-value: #cbd5e1;--female-bg: #3f2937;--female-text: #d8b4e2;--female-value: #e9d5ff}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(to bottom right,var(--bg-gradient-start),var(--bg-gradient-end));min-height:100vh;transition:background .2s}.app-container{padding:1.5rem;min-height:100vh}.container{max-width:56rem;margin:0 auto}.header-card,.search-card,.entry-card,.form-card,.empty-state{background:var(--card-bg);border-radius:.5rem;box-shadow:var(--shadow-lg);padding:.75rem;margin-bottom:.75rem}.header-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.header-card h1{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.125rem}.subtitle{color:var(--text-secondary);font-size:.8rem}.btn-menu{padding:.375rem;border:none;border-radius:.375rem;background:var(--secondary-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.btn-menu:hover{opacity:.8}.dropdown-menu{background:var(--card-bg);border:1px solid var(--border-color);border-radius:.375rem;margin-bottom:.75rem;overflow:hidden;box-shadow:var(--shadow)}.menu-item{width:100%;display:flex;align-items:center;gap:.75rem;padding:.75rem;border:none;background:transparent;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background .2s;text-align:left}.menu-item:hover{background:var(--secondary-bg)}.view-tabs{display:flex;gap:.375rem}.tab{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:none;border-radius:.375rem;background:var(--secondary-bg);color:var(--text-primary);cursor:pointer;font-size:.8rem;font-weight:500;transition:background .2s}.tab:hover{background:var(--secondary-hover)}.tab.active{background:var(--primary);color:#fff}.search-bar{display:flex;gap:.5rem}.search-input-wrapper{flex:1;position:relative}.search-icon{position:absolute;left:.5rem;top:50%;transform:translateY(-50%);color:var(--text-secondary);width:16px;height:16px}.search-input{width:100%;padding:.375rem .5rem .375rem 2rem;border:1px solid var(--input-border);border-radius:.375rem;background:var(--input-bg);color:var(--text-primary);font-size:.875rem}.search-input:focus{outline:2px solid var(--primary);border-color:transparent}.btn-primary,.btn-secondary{display:flex;align-items:center;gap:.375rem;padding:.375rem 1rem;border:none;border-radius:.375rem;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--secondary-bg);color:var(--text-primary)}.btn-secondary:hover{background:var(--secondary-hover)}.btn-location{width:100%;display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.375rem .75rem;margin-top:.375rem;border:1px solid var(--primary);border-radius:.375rem;background:transparent;color:var(--primary);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-location:hover{background:var(--primary);color:#fff}.btn-location:disabled{opacity:.5;cursor:not-allowed}.btn-full{width:100%;justify-content:center;padding:.5rem 1rem}.btn-icon{padding:.25rem;border:none;border-radius:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-edit{background:transparent;color:var(--primary)}.btn-edit:hover{background:#52525b1a}body.dark-mode .btn-edit:hover{background:#52525b33}.btn-delete{background:transparent;color:#dc2626}.btn-delete:hover{background:#fef2f2}body.dark-mode .btn-delete:hover{background:#7f1d1d}.entry-actions{display:flex;gap:.125rem}.entry-card-compact{background:var(--card-bg);border-radius:.375rem;box-shadow:var(--shadow);padding:.5rem;border:1px solid var(--border-color);transition:transform .2s,box-shadow .2s;height:100%;display:flex;flex-direction:column;cursor:pointer}.entry-card-compact:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.entry-card-compact.expanded{display:none}.entry-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.25rem;gap:.25rem}.entry-card-compact h3{font-size:.85rem;font-weight:600;color:var(--text-primary);line-height:1.2;flex:1;margin:0}.distance-compact{color:var(--primary);font-weight:600;font-size:.65rem;margin-bottom:.25rem}.address-compact{display:flex;align-items:flex-start;gap:.25rem;color:var(--text-secondary);font-size:.65rem;margin-bottom:.375rem;line-height:1.3}.address-compact svg{flex-shrink:0;margin-top:.125rem}.address-compact p{margin:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary)}.codes-compact{display:flex;gap:.25rem;margin-bottom:.375rem}.code-item{flex:1;display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem;border-radius:.25rem;font-size:.7rem;font-weight:600}.code-item.male{background:var(--male-bg)}.code-item.female{background:var(--female-bg)}.code-icon{font-size:.8rem;opacity:.8}.code-item.male .code-icon,.code-item.male .code-val{color:var(--male-value)}.code-item.female .code-icon,.code-item.female .code-val{color:var(--female-value)}.code-val{font-size:.75rem;font-weight:700}.entry-meta{font-size:.6rem;color:var(--text-secondary);padding-top:.25rem;border-top:1px solid var(--border-color);margin-top:auto}.entry-meta span{display:block;cursor:help;color:var(--text-secondary)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-card{background:var(--card-bg);border-radius:.75rem;padding:1.5rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 25px -5px #0000004d;animation:slideUp .2s}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;background:var(--secondary-bg);border:none;border-radius:.375rem;padding:.375rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary);transition:background .2s}.modal-close:hover{background:var(--secondary-hover)}.modal-card h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;padding-right:2rem}.modal-distance{color:var(--primary);font-weight:600;font-size:.875rem;margin-bottom:1rem}.modal-address{display:flex;align-items:flex-start;gap:.5rem;color:var(--text-secondary);margin-bottom:1.5rem;padding:.75rem;background:var(--secondary-bg);border-radius:.5rem}.modal-address svg{flex-shrink:0;margin-top:.125rem}.modal-address p{margin:0;line-height:1.5;color:var(--text-secondary)}.modal-codes{display:grid;gap:1rem;margin-bottom:1.5rem}.modal-code-box{padding:1rem;border-radius:.5rem}.modal-code-box.male{background:var(--male-bg)}.modal-code-box.female{background:var(--female-bg)}.modal-code-label{font-size:.875rem;font-weight:600;margin-bottom:.5rem;display:flex;align-items:center;gap:.375rem}.modal-code-box.male .modal-code-label{color:var(--male-text)}.modal-code-box.female .modal-code-label{color:var(--female-text)}.modal-code-value{font-size:2rem;font-weight:700;text-align:center;padding:.5rem}.modal-code-box.male .modal-code-value{color:var(--male-value)}.modal-code-box.female .modal-code-value{color:var(--female-value)}.modal-meta{font-size:.875rem;color:var(--text-secondary);padding:1rem;background:var(--secondary-bg);border-radius:.5rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.modal-meta strong{color:var(--text-primary)}.modal-actions{display:flex;gap:.75rem}.modal-actions button{flex:1}.city-section{margin-bottom:1.5rem}.city-header{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:2px solid var(--primary)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem}.entries-container{margin-top:.5rem}@media(min-width:768px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.form{display:flex;flex-direction:column;gap:.75rem}.form-card h2{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.8rem;font-weight:600;color:var(--text-primary)}.input{padding:.375rem .75rem;border:1px solid var(--input-border);border-radius:.375rem;background:var(--input-bg);color:var(--text-primary);font-size:.875rem}.input:focus{outline:2px solid var(--primary);border-color:transparent}.input-with-button{display:flex;gap:.5rem}.input-with-button .input{flex:1}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-actions{display:flex;gap:.5rem;margin-top:.5rem}.mobile-install-banner{background:linear-gradient(135deg,var(--primary),#6366f1);border-radius:.5rem;padding:1rem;margin-bottom:.75rem;color:#fff;position:relative;box-shadow:var(--shadow-lg)}.banner-close{position:absolute;top:.5rem;right:.5rem;background:#fff3;border:none;border-radius:.25rem;padding:.25rem;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.banner-close:hover{background:#ffffff4d}.banner-content h3{font-size:1.1rem;margin-bottom:.5rem;font-weight:600}.banner-instructions{font-size:.85rem;line-height:1.4;opacity:.95}.banner-instructions strong{font-weight:700;text-decoration:underline}.install-banner{background:var(--card-bg);border-radius:.5rem;box-shadow:var(--shadow-lg);padding:1rem;margin-bottom:.75rem;border-left:4px solid var(--primary)}.install-content p{color:var(--text-primary);font-size:.875rem;margin-bottom:.75rem}.install-actions{display:flex;gap:.5rem}.install-actions button{flex:1}.empty-state{text-align:center;padding:2rem 1rem;grid-column:1 / -1}.empty-icon{color:var(--text-secondary);margin:0 auto .5rem}.empty-state p{color:var(--text-secondary);font-size:.9rem;margin-bottom:.75rem}.disclaimer{text-align:center;padding:1.5rem 1rem;margin-top:2rem;color:var(--text-secondary);font-size:.5rem}.disclaimer p{line-height:1.5;max-width:600px;margin:0 auto}@media(max-width:640px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem}.entry-card-compact h3{font-size:.8rem}.address-compact{font-size:.6rem}.form-row{grid-template-columns:1fr}.form-actions,.search-bar{flex-direction:column}}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
