.review-root,.review-dialog{--review-accent:var(--color-ingkle-purple);--review-paper:var(--color-bg-primary);--review-ink:var(--color-text-primary);--review-muted:var(--color-text-muted);font-family:var(--font-sans);font-size:14px;line-height:1.5;color:var(--review-ink)}.review-root *,.review-dialog *{box-sizing:border-box}.review-root button,.review-dialog button{cursor:pointer;font-family:inherit}.review-root button:focus-visible,.review-dialog button:focus-visible,.review-dialog textarea:focus-visible,.review-filters input:focus-visible{outline:3px solid var(--review-accent);outline-offset:3px}.review-root svg,.review-dialog svg{flex-shrink:0}.review-launch{position:fixed;right:24px;bottom:24px;z-index:10020;height:48px;padding:0 18px;gap:10px;background:var(--review-ink);color:var(--review-paper);border:1px solid var(--color-border);box-shadow:var(--shadow-elevated);border-radius:8px;font-size:14px}.review-dock{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:10020;display:flex;align-items:center;gap:6px;padding:8px;background:var(--review-paper);border:1px solid var(--color-border);box-shadow:var(--shadow-elevated);border-radius:12px;max-width:calc(100vw - 24px)}.review-active{display:flex;gap:7px;align-items:center;white-space:nowrap;padding:0 10px;font-weight:700;font-size:13px}.review-active>span{width:7px;height:7px;background:var(--color-success);border-radius:50%}.review-action,.review-icon,.review-save{height:auto!important;min-height:40px;padding:8px 12px;gap:7px;font-size:14px!important;border-radius:6px!important;line-height:1.4!important;white-space:normal!important}.review-action,.review-icon{background:transparent;color:var(--review-ink)}.review-action:hover,.review-icon:hover{background:var(--color-bg-secondary)}.review-action[aria-pressed=true]{background:color-mix(in srgb,var(--review-accent) 10%,var(--review-paper));color:var(--review-accent)}.review-icon{min-width:40px;padding:8px}.review-save{background:var(--review-accent);color:var(--review-paper)}.review-save:hover{background:var(--color-ingkle-purple-hover)}.review-hint{position:fixed;left:50%;transform:translate(-50%);bottom:94px;z-index:10019;max-width:calc(100vw - 32px);width:max-content;margin:0;padding:9px 16px;background:var(--review-ink);color:var(--review-paper);border-radius:8px;font-size:13px;box-shadow:var(--shadow-sm);pointer-events:none}html[data-review-picking] body{cursor:crosshair}html[data-review-picking] body :not([data-review-ui],[data-review-ui] *){cursor:crosshair!important;user-select:none!important}.review-highlight{position:fixed;z-index:10010;border:2px solid var(--review-accent);background:color-mix(in srgb,var(--review-accent) 8%,transparent);pointer-events:none;border-radius:3px}.review-pin{position:fixed;z-index:10015;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50% 50% 50% 4px;border:2px solid var(--review-paper);box-shadow:var(--shadow-card);font-size:13px;line-height:1;font-weight:700;background:var(--review-accent);color:var(--review-paper)}.review-pin.is-resolved{background:var(--color-text-muted)}.review-panel{position:fixed;right:16px;top:90px;bottom:96px;z-index:10018;width:min(380px,calc(100vw - 32px));display:flex;flex-direction:column;background:var(--review-paper);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-elevated);overflow:hidden}.review-panel header{display:flex;justify-content:space-between;align-items:center;padding:18px 18px 12px;gap:10px}.review-panel h2{font-size:19px!important;letter-spacing:0!important;line-height:1.4!important;margin:0!important}.review-panel h2 span{color:var(--review-accent)}.review-panel header p{font-size:12px;margin:3px 0 0;color:var(--review-muted)}.review-filters{padding:0 14px 12px;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:10px;align-items:center}.review-filters>div{display:flex;gap:2px}.review-filters label{font-size:12px;display:flex;align-items:center;gap:6px;padding-left:4px}.review-filters input{accent-color:var(--review-accent);width:16px;height:16px}.review-items{overflow:auto;flex:1;overscroll-behavior:contain;padding:12px}.review-item{padding:14px;border:1px solid var(--color-border);border-radius:8px;margin-bottom:10px;background:var(--review-paper)}.review-item.is-active{border-color:var(--review-accent);box-shadow:0 0 0 1px var(--review-accent)}.review-item-top{display:flex;justify-content:space-between;gap:6px;align-items:center}.review-item-top button{display:flex;align-items:center;gap:5px;color:var(--review-accent);font-size:12px;background:none;border:0;padding:3px 0}.review-item-top small{font-size:11px;color:var(--review-muted)}.review-comment{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px!important;line-height:1.65!important;margin:10px 0!important}.review-location{font-size:12px;color:var(--review-muted);text-align:left;border:0;background:none;line-height:1.5;overflow-wrap:anywhere}.review-location:hover{text-decoration:underline}.review-item-actions{display:flex;justify-content:flex-end;gap:2px;margin-top:8px}.review-panel footer{border-top:1px solid var(--color-border);padding:12px 16px}.review-panel footer p{font-size:12px;color:var(--review-muted);margin:0 0 8px}.review-panel footer button{width:100%}.review-empty{padding:24px 14px;font-size:14px;color:var(--review-muted);line-height:1.7}.review-notice,.review-error{margin:8px 16px;padding:10px 12px;font-size:13px;border-radius:6px;overflow-wrap:anywhere;background:var(--color-bg-secondary)}.review-error{color:var(--color-error)}.review-error button{display:block;text-decoration:underline;margin-top:6px}.review-overlay{position:fixed;inset:0;z-index:10100;background:color-mix(in srgb,var(--color-ingkle-navy) 38%,transparent)}.review-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10101;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--review-paper);border:1px solid var(--color-border);border-radius:12px;padding:24px;box-shadow:var(--shadow-elevated);outline:none}.review-dialog h2{font-size:20px!important;margin:0 0 8px!important;line-height:1.4!important;letter-spacing:0!important}.review-target{font-size:13px;color:var(--review-muted);max-height:60px;overflow:hidden;overflow-wrap:anywhere;margin:0 0 14px}.review-preview{width:100%;max-height:200px;object-fit:contain;object-position:center;border:1px solid var(--color-border);border-radius:6px;margin:10px 0;background:var(--color-bg-secondary)}.review-dialog label{display:block;margin:14px 0 8px;font-size:14px;font-weight:600}.review-dialog textarea{width:100%;min-height:120px;resize:vertical;border:1px solid var(--color-border);border-radius:6px;padding:12px;font:inherit;font-size:16px;color:var(--review-ink);background:var(--review-paper);line-height:1.65}.review-dialog textarea::placeholder{color:var(--review-muted)}.review-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.review-capture{font-size:12px;color:var(--review-muted);margin:10px 0}@media(max-width:600px){.review-active{display:none}.review-dock{bottom:12px;gap:0;padding:5px;max-width:calc(100vw - 16px);width:max-content}.review-dock .review-action{font-size:12px!important;padding:8px;gap:4px;min-height:42px}.review-hint{bottom:80px;font-size:12px;text-align:center}.review-panel{top:16px;right:12px;bottom:82px;width:calc(100vw - 24px)}.review-dialog{padding:20px}.review-launch{right:16px;bottom:16px}}@media print{[data-review-ui]{display:none!important}}
