body,html{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}#map{width:100%;height:100vh}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:20000}.modal-content{background:#fff;border-radius:8px;padding:20px;max-width:90%;max-height:90vh;overflow:auto;box-shadow:0 4px 12px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;border-bottom:1px solid #eee;padding-bottom:10px}.modal-header h2{margin:0;font-size:18px}.close-button{background:none;border:none;font-size:28px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.close-button:hover{background:#f5f5f5;color:#333}.custom-tooltip{white-space:pre-line}.leaflet-tooltip-own{white-space:normal;line-height:1.3}.marker-number-label{background:transparent;color:#000;font-weight:700;font-size:14px;border:none;box-shadow:none;padding:0;pointer-events:none;z-index:1001}.leaflet-container{cursor:crosshair}#zoom-level{position:absolute;top:10px;right:10px;background:#fff;padding:6px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;z-index:1000;box-shadow:0 2px 4px #0000001a}#user-info{position:absolute;top:50px;right:10px;font-size:13px;z-index:1000;max-width:200px}#user-info img{width:24px;height:24px;border-radius:50%;vertical-align:middle;margin-right:4px}.control-btn{position:absolute;z-index:1000;padding:8px 14px;background:#fff;border:1px solid #ccc;border-radius:4px;font-size:14px;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:all .2s}.control-btn:hover{background:#f5f5f5;box-shadow:0 3px 6px #00000026}.control-btn:active{transform:translateY(1px)}#locate-btn{top:10px;left:10px}#marker-list-btn{top:50px;left:10px}#add-area-btn{top:90px;right:10px;background:#fff;color:#000}#add-area-btn:hover{background:#f5f5f5}#add-member-btn{top:130px;right:10px;background:#fff;color:#000}#add-member-btn:hover{background:#f5f5f5}#login-btn,#logout-btn{top:10px;right:220px}#marker-form{display:none;position:absolute;background:#fff;padding:12px;border:1px solid #ccc;border-radius:6px;z-index:1000;font-size:13px;line-height:1.5;max-width:240px;box-shadow:0 4px 8px #00000026}#marker-form>div:first-child{font-weight:700;margin-bottom:8px;font-size:14px}#marker-form label{display:block;margin-top:6px;margin-bottom:2px;font-weight:500}#marker-form input[type=text],#marker-form input[type=number],#marker-form select{width:100%;padding:4px 6px;border:1px solid #ccc;border-radius:3px;font-size:13px;box-sizing:border-box}#marker-form button{margin-top:8px;margin-right:4px;padding:6px 12px;border:1px solid #ccc;border-radius:3px;background:#fff;cursor:pointer;font-size:13px;transition:all .2s}#marker-form button:hover{background:#f5f5f5}#add-marker-btn:hover{background:#f5f5f5!important}#marker-list{display:none;position:absolute;top:90px;left:10px;background:#fff;border:1px solid #ccc;border-radius:6px;padding:10px;z-index:1000;max-height:400px;overflow-y:auto;font-size:14px;width:250px;box-shadow:0 4px 8px #00000026}.marker-list-item:hover{background:#f5f5f5;border-radius:3px}#login-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000}#login-box{background:#fff;padding:40px;border-radius:8px;text-align:center;box-shadow:0 8px 16px #0003;max-width:400px}#login-box h2{margin-top:0;margin-bottom:20px;color:#333}#login-box p{margin-bottom:24px;color:#666;line-height:1.6}#google-login-btn{padding:12px 24px;background:#4285f4;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:all .2s}#google-login-btn:hover{background:#357ae8;box-shadow:0 2px 4px #0003}@media (max-width: 768px){#marker-form{max-width:90%;left:5%!important;right:5%}#marker-list{width:90%;left:5%}.control-btn{padding:6px 10px;font-size:12px}}.leaflet-popup-content button{margin:4px 2px;padding:4px 8px;border:1px solid #ccc;border-radius:3px;background:#fff;cursor:pointer;font-size:12px}.leaflet-popup-content button:hover{background:#f5f5f5}#webview-warning{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000d9;display:none;align-items:center;justify-content:center;z-index:20000;padding:20px;box-sizing:border-box}#webview-warning-box{background:#fff;padding:30px;border-radius:12px;max-width:500px;width:100%;box-shadow:0 10px 25px #0000004d;text-align:left;line-height:1.8}#webview-warning-box h2{margin-top:0;margin-bottom:20px;color:#d32f2f;font-size:20px;display:flex;align-items:center;gap:10px}#webview-warning-box .warning-icon{font-size:28px}#webview-warning-box .instructions{background:#f5f5f5;padding:15px;border-radius:6px;margin:15px 0;font-size:14px;color:#333}#webview-warning-box .url-copy-section{margin:20px 0;padding:15px;background:#e3f2fd;border-radius:6px;border:1px solid #90caf9}#webview-warning-box .url-display{background:#fff;padding:10px;border-radius:4px;border:1px solid #ccc;word-break:break-all;font-size:12px;margin:10px 0;font-family:monospace}#webview-warning-box .copy-url-btn{width:100%;padding:12px;background:#2196f3;color:#fff;border:none;border-radius:6px;font-size:15px;cursor:pointer;transition:all .2s;font-weight:500}#webview-warning-box .copy-url-btn:hover{background:#1976d2}#webview-warning-box .copy-url-btn:active{transform:scale(.98)}#webview-warning-box .dismiss-btn{width:100%;padding:10px;background:#f5f5f5;color:#666;border:1px solid #ccc;border-radius:6px;font-size:14px;cursor:pointer;margin-top:10px;transition:all .2s}#webview-warning-box .dismiss-btn:hover{background:#e0e0e0}@media (max-width: 768px){#webview-warning-box{padding:20px;max-width:90%}#webview-warning-box h2{font-size:18px}#webview-warning-box .instructions{font-size:13px}}.audit-log-viewer{max-width:1200px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.audit-filters{background:#f5f5f5;padding:15px;border-radius:6px;margin-bottom:15px}.filter-row{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}.filter-row:last-child{margin-bottom:0}.filter-group{flex:1;min-width:150px}.filter-group label{display:block;font-size:12px;font-weight:500;margin-bottom:4px;color:#666}.filter-group input,.filter-group select{width:100%;padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:13px;box-sizing:border-box}.filter-actions{display:flex;gap:8px;align-items:flex-end}.filter-actions button{padding:6px 12px;border:1px solid #ccc;border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap}.primary-button{background:#2196f3;color:#fff;border-color:#2196f3}.primary-button:hover{background:#1976d2}.secondary-button{background:#fff;color:#333}.secondary-button:hover{background:#f5f5f5}.audit-log-list{flex:1;overflow-y:auto;border:1px solid #ddd;border-radius:6px;background:#fff}.audit-log-table{width:100%;border-collapse:collapse;font-size:13px}.audit-log-table thead{background:#f5f5f5;position:sticky;top:0;z-index:10}.audit-log-table th{padding:10px;text-align:left;font-weight:600;border-bottom:2px solid #ddd;color:#333}.audit-log-table td{padding:10px;border-bottom:1px solid #eee;vertical-align:top}.audit-log-table tbody tr:hover{background:#f9f9f9}.log-timestamp{white-space:nowrap;color:#666;font-size:12px}.log-action{white-space:nowrap}.action-icon{margin-right:4px}.log-user{color:#333}.log-marker{font-weight:500;color:#2196f3}.log-changes{font-size:12px;color:#666;max-width:400px}.change-item{margin:2px 0;line-height:1.4}.change-item strong{color:#333}.no-changes{color:#999}.loading{padding:40px;text-align:center;color:#666}.no-logs{padding:40px;text-align:center;color:#999}.error-message{padding:20px;background:#ffebee;color:#c62828;border-radius:4px;margin:20px}.log-create{border-left:3px solid #4caf50}.log-update{border-left:3px solid #2196f3}.log-delete{border-left:3px solid #f44336}.log-image_upload{border-left:3px solid #ff9800}.log-image_delete{border-left:3px solid #9c27b0}@media (max-width: 768px){.audit-log-viewer{width:95%}.filter-row{flex-direction:column}.filter-group{min-width:100%}.audit-log-table{font-size:11px}.audit-log-table th,.audit-log-table td{padding:6px}.log-changes{max-width:200px}}
