@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";:root{--brand: #da291c;--brand-hover: #b8221a;--ink: #212121;--muted: #6b7280;--border: #e5e7eb;--bg: #f5f5f5;--ok: #15803d;--ok-bg: #dcfce7;--warn: #b91c1c;--danger: #dc2626;--danger-bg: #fef2f2;--danger-border: #fecaca;--medium: #d97706;--medium-bg: #fffbeb;--medium-border: #fde68a;--review-bg: #fef9c3;--review-text: #a16207;--skip-bg: #e5e7eb;--skip-text: #4b5563;--link-name: #4f46e5;--shadow: 0 1px 3px rgba(0, 0, 0, .07)}*{box-sizing:border-box}body{margin:0;font-family:Montserrat,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}a{color:var(--brand)}.app-header{display:flex;align-items:center;gap:12px;padding:10px 20px;background:#fff;border-bottom:1px solid var(--border)}.app-header img{width:36px;height:36px}.app-header h1{font-size:16px;font-weight:600;margin:0}.app-nav{display:flex;gap:16px;margin-left:auto;font-size:14px}.app-main{padding:20px;max-width:1100px;margin:0 auto}.btn{font-family:inherit;border:1px solid var(--border);background:#fff;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:13px}.btn:hover{border-color:var(--brand)}.btn-primary{background:var(--brand);color:#fff;border-color:var(--brand)}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.app-shell{min-height:100vh;display:flex;flex-direction:column}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-form{display:flex;flex-direction:column;gap:10px;width:320px;padding:32px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 3px #0000000f}.login-logo{width:64px;height:64px;align-self:center;margin-bottom:8px}.login-form h2{margin:0 0 8px;font-size:18px;font-weight:600;text-align:center}.login-form label{font-size:13px;color:var(--muted)}.login-form input{font-family:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--border);border-radius:6px}.login-form input:focus{outline:2px solid var(--brand);outline-offset:-1px}.form-error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);padding:10px 12px;border-radius:6px;font-size:13px;margin:0 0 8px}.app-main h2{font-size:17px;font-weight:700;margin:0 0 16px}.app-main h3{font-size:14px;font-weight:600;margin:0 0 8px}table{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}th{background:var(--bg);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px 14px;text-align:left;border-bottom:1px solid var(--border)}td{padding:10px 14px;font-size:13px;border-bottom:1px solid #f3f4f6;vertical-align:top}tr:last-child td{border-bottom:none}tr:hover td{background:#fafafa}tfoot td{font-weight:700;background:var(--bg)}.reviews-list-toolbar{background:#fff;border-radius:8px;padding:16px 20px;display:flex;gap:16px;align-items:center;margin-bottom:20px;box-shadow:var(--shadow);flex-wrap:wrap}.reviews-list-toolbar label{font-size:13px;font-weight:600;color:#555}.reviews-list-toolbar input,.reviews-list-toolbar select{padding:8px 10px;border:1.5px solid var(--border);border-radius:5px;font-size:14px;font-family:inherit;outline:none}.reviews-list-toolbar input:focus,.reviews-list-toolbar select:focus{border-color:var(--brand)}.reviews-list-toolbar .btn-primary{margin-left:auto}.new-review-form{display:flex;flex-direction:column;gap:10px;max-width:480px;padding:24px;background:#fff;border-radius:8px;box-shadow:var(--shadow)}.new-review-form label{font-size:13px;font-weight:600;color:#555}.new-review-form input{font-family:inherit;font-size:14px;padding:8px 10px;border:1.5px solid var(--border);border-radius:5px}.new-review-form input:focus{outline:none;border-color:var(--brand)}.drop-zone{border:2px dashed var(--border);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:6px}.drop-zone label{font-size:14px;font-weight:600;color:#374151}.drop-zone-file{font-size:13px;color:var(--ok);font-weight:500}.review-detail{max-width:920px;margin:0 auto}.cost-line{font-size:12px;color:var(--muted);margin-top:12px}.mapping-panel{background:#fff;border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-top:16px}.map-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px;padding:8px 16px;border-top:1px solid #f3f4f6}.map-row:first-child{border-top:none}.map-row-na{color:var(--muted)}.map-row-editing{background:var(--bg)}.map-code{font-weight:700;color:#374151;font-size:11px;min-width:36px}.map-desc{color:#555;flex:1;min-width:120px}.map-wp-name{font-weight:600;color:var(--link-name);font-size:11px;display:flex;align-items:center;gap:6px}.map-badge{padding:1px 7px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}.map-badge-t1{background:var(--ok-bg);color:var(--ok)}.map-badge-t2{background:var(--review-bg);color:var(--review-text)}.map-badge-t3{background:var(--danger-bg);color:var(--warn)}.map-badge-t0{background:var(--medium-bg);color:var(--medium)}.map-badge-na,.map-badge-skipped{background:var(--skip-bg);color:var(--skip-text)}.amt-badge{font-size:10px}.amt-agree{color:var(--ok)}.amt-mismatch{color:var(--warn)}.sheet-select{font-size:12px;border:1.5px solid var(--brand);border-radius:4px;padding:3px 6px;font-family:inherit;min-width:160px;max-width:220px}.mapping-actions{padding:14px 16px;display:flex;align-items:center;gap:12px;border-top:1px solid var(--border);background:var(--bg)}.tab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:16px}.tab-cell{border:1px solid var(--border);border-radius:6px;background:#fff;padding:10px 12px;display:flex;flex-direction:column;gap:4px;font-size:12px}.tab-cell-name{font-weight:600;font-size:13px}.tab-cell-status{color:var(--muted);text-transform:capitalize}.tab-cell-risk{align-self:flex-start;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:700;text-transform:uppercase}.tab-cell-risk-high{background:var(--danger-bg);color:var(--danger)}.tab-cell-risk-medium{background:var(--medium-bg);color:var(--medium)}.tab-cell-risk-low{background:var(--ok-bg);color:var(--ok)}.tab-cell-error{color:var(--warn);font-size:11px}.findings-list{margin-top:20px}.risk-chips{display:flex;gap:8px;margin-bottom:14px}.findings-group{background:#fff;border:1px solid var(--border);border-radius:8px;padding:14px 16px;margin-bottom:12px}.finding-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 0;font-size:13px;border-bottom:1px dashed #f3f4f6}.finding-item:last-child{border-bottom:none}.finding-risk-badge{display:inline-block;padding:2px 10px;border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.finding-risk-high .finding-risk-badge{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.finding-risk-medium .finding-risk-badge{background:var(--medium-bg);color:var(--medium);border:1px solid var(--medium-border)}.finding-risk-low .finding-risk-badge{background:var(--ok-bg);color:var(--ok);border:1px solid #bbf7d0}.finding-message{flex:1;min-width:200px}.finding-item input[type=text],.finding-item input:not([type]){padding:4px 8px;border:1px solid var(--border);border-radius:4px;font-size:12px}.executive-summary{background:var(--bg);border-left:3px solid var(--brand);padding:14px 18px;border-radius:0 6px 6px 0;margin-bottom:18px}.executive-summary h1,.executive-summary h2{color:var(--brand);border-bottom:2px solid var(--brand);padding-bottom:6px}.feedback-widget{display:flex;align-items:center;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border);flex-wrap:wrap}.feedback-widget textarea{flex:1;min-width:180px;padding:8px 10px;border:1.5px solid var(--border);border-radius:6px;font-family:inherit;font-size:13px;min-height:50px}.feedback-widget textarea:focus{outline:none;border-color:var(--brand)}.admin-users,.admin-usage,.admin-feedback{max-width:1000px;margin:0 auto}.admin-users select{padding:4px 6px;border:1.5px solid var(--border);border-radius:4px;font-family:inherit;font-size:12px}
