:root{--bg:#eef0ec;--panel:#fff;--ink:#171815;--muted:#6b7168;--line:#d9ddd4;--accent:#9bd60c;--accent-deep:#5c8a0b;--accent-soft:#eef8cd;--green:#5c8a0b;--red:#c43f3f;--shadow:0 14px 40px #1218261f}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;gap:16px;width:100%;max-width:380px;padding:28px;display:grid}.login-mark{background:var(--accent-soft);color:var(--accent-deep);border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.eyebrow,.login-panel p,.brand-block p,.panel-head p{color:var(--muted);margin:0}.eyebrow{letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:700}.login-panel h1,.brand-block h1,.panel-head h2{margin:0}.login-panel h1{font-size:28px;line-height:1.1}.field-label{color:#343831;font-size:14px;font-weight:700}.password-input,.text-input,.text-area{border:1px solid var(--line);color:var(--ink);background:#fbfcfa;border-radius:8px;outline:none;width:100%}.password-input,.text-input{height:42px;padding:0 12px}.text-area{resize:vertical;min-height:120px;padding:10px 12px;line-height:1.45}.password-input:focus,.text-input:focus,.text-area:focus{border-color:var(--accent-deep);box-shadow:0 0 0 3px #9bd60c3d}.form-error{color:var(--red);font-size:14px}.primary-button,.ghost-button,.icon-button,.small-button,.danger-button,.status-button{border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-weight:700;display:inline-flex}.primary-button{background:var(--accent);color:var(--ink)}.primary-button:disabled{cursor:not-allowed;opacity:.55}.primary-button.compact{min-height:34px}.ghost-button,.icon-button,.small-button{color:#2d312b;background:#f4f6f1}.icon-button{width:38px;padding:0}.danger-button{color:var(--red);background:#fff0f0}.review-shell{grid-template-rows:auto auto 1fr;height:100vh;min-height:640px;display:grid}.topbar{border-bottom:1px solid var(--line);background:#ffffffeb;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.brand-block{align-items:center;gap:12px;min-width:240px;display:flex}.brand-logo-mark{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:center;align-items:center;width:108px;height:38px;padding:0 10px;display:inline-flex}.brand-logo-mark img{width:84px;height:auto;display:block}.brand-block h1{font-size:18px}.brand-block p,.panel-head p{font-size:13px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.segmented{border:1px solid var(--line);background:#edf0e9;border-radius:8px;padding:3px;display:flex}.segmented button{color:#3e443c;background:0 0;border:0;border-radius:6px;align-items:center;gap:7px;min-height:32px;padding:0 11px;font-weight:800;display:inline-flex}.segmented button.active{color:var(--accent-deep);background:#fff;box-shadow:0 1px 5px #00000014}.notice{color:#6b5413;background:#fff8e5;border-bottom:1px solid #ecdba6;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.notice button{color:inherit;background:0 0;border:0;align-items:center;display:inline-flex}.workspace{grid-template-columns:minmax(0,1fr);height:100%;min-height:0;display:grid}.workspace.panel-open{grid-template-columns:minmax(0,1fr) minmax(320px,360px)}.frame-wrap{background:#dfe4db;height:100%;min-height:calc(100vh - 65px);position:relative;overflow:auto}.wireframe-frame{background:#f7f7f4;border:0;width:100%;height:100%}.marker-layer{pointer-events:none;position:absolute;inset:0}.marker-layer.can-comment{cursor:crosshair;pointer-events:auto}.marker{color:#fff;z-index:2;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:900;display:inline-flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 14px #00000040}.marker.open{background:var(--accent);color:var(--ink)}.marker.resolved{background:var(--green)}.marker.active{outline:4px solid #9bd60c57}.marker.draft{background:var(--red);border-color:#fff}.comment-panel{background:var(--panel);border-left:1px solid var(--line);flex-direction:column;min-height:0;padding:16px;display:none;overflow:auto}.workspace.panel-open .comment-panel{display:flex}.panel-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.panel-head h2{font-size:17px}.editor-card,.empty-panel{border:1px solid var(--line);border-radius:8px;gap:10px;margin-bottom:14px;padding:12px;display:grid}.editor-card h3{margin:0;font-size:15px}.editor-actions,.detail-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.status-button.open{background:var(--accent-soft);color:var(--accent-deep)}.status-button.resolved{color:var(--green);background:#eaf7ef}.empty-panel{color:var(--muted);text-align:center;place-items:center;min-height:148px}.empty-panel p{margin:0}.comment-list{gap:8px;display:grid}.comment-row{color:inherit;text-align:left;background:#f8faf5;border:1px solid #0000;border-radius:8px;grid-template-columns:10px 1fr;align-items:flex-start;gap:9px;padding:10px;display:grid}.comment-row.selected{background:var(--accent-soft);border-color:#5c8a0b40}.comment-row strong,.comment-row small,.comment-row span span{display:block}.comment-row strong{font-size:13px}.comment-row small{color:var(--muted);margin:2px 0 6px;font-size:12px}.comment-row span span{color:#373c34;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.status-dot{border-radius:999px;width:10px;height:10px;margin-top:3px}.status-dot.open{background:var(--accent)}.status-dot.resolved{background:var(--green)}@media (max-width:900px){.review-shell{height:auto;min-height:100vh}.topbar,.workspace{display:block}.topbar-actions{justify-content:flex-start;margin-top:12px}.frame-wrap{height:68vh;min-height:480px}.comment-panel{border-left:0;border-top:1px solid var(--line);max-height:none}.workspace:not(.panel-open) .comment-panel{display:none}}
