*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f4f6f8;color:#1a1a1a}button,input,select,textarea{font:inherit}.page{min-height:100vh;padding:24px 16px 48px}.container{max-width:880px;margin:0 auto}.card{background:#fff;border:1px solid #dde3ea;border-radius:10px;padding:20px;margin-bottom:16px}.panel-title{font-size:24px;font-weight:700;margin:0 0 8px}.panel-subtitle{margin:0 0 24px;color:#555;line-height:1.5}.field{margin-bottom:16px}.field label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid #ccd4dd;border-radius:8px;padding:10px 12px;background:#fff}.field textarea{min-height:96px;resize:vertical}.btn{border:none;border-radius:8px;padding:12px 16px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:#1a5fb4;color:#fff}.btn-secondary{background:#fff;color:#1a5fb4;border:1px solid #1a5fb4}.btn-danger{background:#fff;color:#b42318;border:1px solid #d0d5dd}.btn-link{background:none;border:none;color:#1a5fb4;padding:0;cursor:pointer;text-decoration:underline}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.header h1{margin:0;font-size:28px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.view-switch{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.search-form{display:flex;gap:12px;margin-bottom:12px}.search-form input{flex:1;min-width:0;border:1px solid #ccd4dd;border-radius:8px;padding:10px 12px;background:#fff}.toolbar h2{margin:0;font-size:20px}.meta{color:#666;font-size:14px;margin:8px 0}.submission-title{margin:0 0 8px;font-size:18px}.submission-explanation{margin:0 0 12px;line-height:1.5}.report-detail-block{margin:16px 0}.report-detail-label{margin:0 0 6px;font-size:14px;font-weight:600}.report-detail-text{margin:0;line-height:1.5}.submission-photo-button{display:block;width:100%;padding:0;margin:0 0 12px;border:none;background:none;cursor:pointer}.submission-photo{display:block;width:100%;max-height:240px;object-fit:cover;border-radius:8px;background:#eee}.submission-photo-static{margin:0}.section-heading{margin:0 0 12px;font-size:16px;font-weight:700}.approval-panel{margin-top:20px;padding-top:20px;border-top:1px solid #e4e7ec}.photo-mode-options{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.photo-mode-option{display:flex;align-items:center;gap:8px;font-size:15px}.photo-anonymization{margin-top:12px}.photo-anonymization-hint{margin:0 0 12px;color:#555;font-size:14px;line-height:1.5}.photo-anonymization-canvas-wrap{position:relative;width:100%;max-width:100%;overflow:hidden;border-radius:8px;background:#eee}.photo-anonymization-canvas{display:block;width:100%;height:auto;cursor:crosshair;touch-action:none}.photo-anonymization-selection{position:absolute;border:2px dashed #1a5fb4;background:#1a5fb41f;pointer-events:none}.photo-anonymization-actions{margin-top:12px}.change-review-photo-button{display:block;width:100%;padding:0;margin:0;border:none;background:none;cursor:pointer}.change-review-photo{display:block;width:100%;max-height:320px;object-fit:contain;border-radius:8px;background:#eee}.photo-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000d9}.photo-preview-close{position:fixed;top:24px;right:24px;z-index:1001;border:none;background:none;color:#fff;font-size:32px;line-height:1;cursor:pointer;padding:8px}.photo-preview-image{display:block;max-width:min(96vw,1200px);max-height:90vh;width:auto;height:auto;object-fit:contain}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.message{margin-top:12px;font-size:14px}.message-error{color:#b42318}.message-success{color:#067647}.message-warning{color:#8a4b08}.marker-symbol-field{margin:20px 0;padding:16px;border:1px solid #ccd4dd;border-radius:8px;background:#f8fafc}.marker-symbol-field .field{margin-bottom:12px}.marker-symbol-preview{display:flex;align-items:center;gap:14px;min-width:0}.marker-symbol-preview img,.marker-symbol-preview-placeholder{flex:0 0 46px;width:46px;height:56px;object-fit:contain}.marker-symbol-preview-placeholder{display:grid;place-items:center;border:1px dashed #98a2b3;border-radius:6px;color:#667085;background:#fff}.marker-symbol-preview p{margin-top:0}.published-marker-summary{margin:14px 0}.marker-position-editor{display:grid;gap:10px;margin-top:18px;padding:14px;border:1px solid #d7dbe5;border-radius:12px;background:#f8f9fc}.marker-position-editor p{margin:0}.marker-position-map{position:relative;width:100%;aspect-ratio:16 / 9;min-height:220px;overflow:hidden;border:1px solid #b9c0cf;border-radius:10px;background:#e8ebf1}.marker-position-map iframe{width:100%;height:100%;border:0;pointer-events:none}.marker-position-original{position:absolute;width:18px;height:18px;border:4px solid #e36b2c;border-radius:50%;background:#fff;box-shadow:0 1px 3px #1018284d;transform:translate(-50%,-50%);z-index:2}.marker-position-draggable{position:absolute;width:46px;height:56px;padding:0;border:0;background:transparent;cursor:grab;touch-action:none;transform:translate(-50%,-100%);z-index:3}.marker-position-draggable:disabled{cursor:default}.marker-position-draggable-active{cursor:grabbing}.marker-position-draggable img{display:block;width:46px;height:56px;-webkit-user-select:none;user-select:none;pointer-events:none}.marker-position-legend{display:flex;flex-wrap:wrap;gap:10px 18px;color:#596174;font-size:13px}.marker-position-legend>span{display:inline-flex;align-items:center;gap:6px}.marker-position-legend-original{width:12px;height:12px;border:3px solid #e36b2c;border-radius:50%;background:#fff}.published-editor{margin-top:20px;padding-top:20px;border-top:1px solid #e4e7ec}.published-photo-editor{margin-top:20px;padding:16px;border:1px solid #e4e7ec;border-radius:8px;background:#f8fafc}.published-hotspot-photo{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:8px;background:#eee}.file-button{display:inline-flex;align-items:center}.file-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.file-button:has(input:disabled){opacity:.55;cursor:not-allowed}.reject-panel,.archive-panel{margin-top:16px;padding-top:16px;border-top:1px solid #e4e7ec}.loading{text-align:center;color:#666;padding:48px 0}.empty{text-align:center;color:#666;padding:32px 0}.error-banner{background:#fff;border:1px solid #fecdca;border-radius:10px;padding:16px;margin-bottom:16px}.error-banner p{margin:0 0 12px;color:#b42318}.report-correction-panel{margin-top:16px;padding-top:16px;border-top:1px solid #e4e7ec}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo-action-row{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px}.photo-action-row label{display:flex;align-items:center;gap:8px;font-size:14px}.comment-report-intro{margin:-4px 0 16px;color:#555;line-height:1.5}.comment-report-card{overflow:hidden}.comment-report-card-reply{margin-left:16px;border-left:4px solid #1a5fb4}.comment-report-kind-badge{display:inline-flex;align-items:center;padding:4px 8px;color:#1a5fb4;background:#f4f8fd;border:1px solid #ccd4dd;border-radius:999px;font-size:13px;font-weight:700}.comment-report-parent-context{margin:16px 0;padding:12px;border-left:3px solid #1a5fb4;border-radius:8px;background:#f8fafc}.comment-report-parent-body{white-space:pre-wrap;overflow-wrap:anywhere}.comment-report-parent-context .meta:last-child{margin-bottom:0}.comment-report-body,.comment-report-detail-text{white-space:pre-wrap;overflow-wrap:anywhere}.comment-report-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0;padding:12px;border-radius:8px;background:#f8fafc}.comment-report-meta-grid .meta{margin:0}.comment-report-reason-list{display:grid;gap:6px;margin:0;padding-left:22px}.comment-report-detail-list{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.comment-report-detail{min-width:0;padding:12px;border:1px solid #e4e7ec;border-radius:8px;background:#f8fafc}.comment-report-detail .meta:last-child{margin-bottom:0}.comment-report-actions{padding-top:16px;border-top:1px solid #e4e7ec}.comment-report-busy{color:#555}.comment-report-page .message:focus-visible{outline:3px solid rgba(26,95,180,.35);outline-offset:2px}.comment-moderation-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow-y:auto;padding:24px;color:#1a1a1a;background:#fff;border:1px solid #ccd4dd;border-radius:12px;box-shadow:0 20px 48px #10182840}.comment-moderation-dialog::backdrop{background:#10182894}.comment-moderation-dialog h3{margin:0 0 8px;font-size:20px}.comment-moderation-dialog-copy{margin:0 0 20px;color:#555;line-height:1.5}.comment-moderation-reasons{display:grid;gap:8px;margin:0 0 20px;padding:0;border:0}.comment-moderation-reasons legend{margin-bottom:8px;font-size:14px;font-weight:600}.comment-moderation-reason{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid #dde3ea;border-radius:8px;cursor:pointer}.comment-moderation-reason:has(input:checked){border-color:#1a5fb4;background:#f4f8fd}.comment-moderation-reason input{margin-top:3px}.comment-moderation-note-counter{text-align:right}.comment-moderation-dialog-actions{justify-content:flex-end}.comment-moderation-dialog button:focus-visible,.comment-moderation-dialog input:focus-visible,.comment-moderation-dialog textarea:focus-visible{outline:3px solid rgba(26,95,180,.35);outline-offset:2px}.comment-report-page .empty h3{margin:0 0 8px;color:#1a1a1a;font-size:18px}.comment-report-page .empty p{margin:0}@media(max-width:600px){.page{padding:16px 10px 32px}.card{padding:16px}.header,.toolbar,.search-form{align-items:stretch;flex-direction:column}.field-row,.comment-report-meta-grid{grid-template-columns:1fr}.comment-report-card-reply{margin-left:0}.comment-moderation-dialog{padding:18px}.actions .btn,.actions .file-button{width:100%;justify-content:center;text-align:center}}
