/* Кабинет исполнителя: светлая тема в стиле админки */
:root{--ink:#1e1b2e;--muted:#8b8a99;--line:#eeeef3;--field:#f5f5f8;--soft:#f3f3f7;--accent:#7a5af8;--accent-hover:#6a49ea;--ok:#1f9254;--ok-bg:#e8f6ee;--bad:#d64545;--bad-bg:#fdecec;--warn:#b7791f;--warn-bg:#fdf3e0}
*{box-sizing:border-box}
html,body{background:#fff;color:var(--ink)}
body{margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,system-ui,sans-serif}
.hidden{display:none!important}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center}
.logo{width:36px;height:36px;border-radius:10px;background:var(--accent);color:#fff;font-weight:700;display:grid;place-items:center;flex:none}
.brand b{display:block;font-size:15px;line-height:1.2}.brand span{font-size:13px;color:var(--muted)}
main{max-width:760px;margin:0 auto;padding:24px 16px 80px}
h1{font-size:26px;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:18px;margin:0 0 12px}
.muted{color:var(--muted);font-size:14px}
.card{border:1px solid var(--line);border-radius:16px;padding:20px;margin:16px 0;background:#fff}
.center{max-width:440px;margin:6vh auto 0}
label{display:block;font-size:14px;color:var(--muted);margin:14px 0 4px}
input,textarea,select{width:100%;padding:12px 14px;font:inherit;color:var(--ink);background:var(--field);border:1px solid transparent;border-radius:12px}
input:focus,textarea:focus{outline:2px solid var(--accent);background:#fff}
input[type=checkbox]{width:20px;height:20px;padding:0;margin:0;accent-color:var(--accent);flex:none}
button{white-space:nowrap;font:inherit;font-weight:600;padding:12px 18px;border:0;border-radius:12px;background:var(--accent);color:#fff;cursor:pointer;margin-top:14px;min-height:44px}
button:hover{background:var(--accent-hover)}
button.ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}button.ghost:hover{background:#f8f8fb}
button.link{background:none;color:var(--muted);padding:0;margin:0;min-height:0;font-weight:500}
button:disabled{opacity:.5;cursor:default}
.row{display:flex;gap:10px;flex-wrap:wrap}
.err{color:var(--bad);font-size:14px;min-height:20px;margin-top:8px}
.badge{display:inline-block;font-size:12px;font-weight:600;padding:3px 11px;border-radius:99px;background:var(--soft);color:var(--muted);white-space:nowrap}
.badge.signed,.badge.active,.badge.ok,.badge.paid{background:var(--ok-bg);color:var(--ok)}
.badge.sent,.badge.pending,.badge.accepted,.badge.completed,.badge.manual{background:var(--warn-bg);color:var(--warn)}
.badge.failed,.badge.inactive{background:var(--bad-bg);color:var(--bad)}
.doc{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 4px;border-top:1px solid var(--line);cursor:pointer}
.doc:first-of-type{border-top:0}.doc:hover{background:#fafafd}
.doc .sub{color:var(--muted);font-size:13px}
.alert{background:var(--warn-bg);color:#7a5314;border-radius:14px;padding:14px 16px;margin:16px 0;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.alert button{margin:0}
pre.body{white-space:pre-wrap;word-wrap:break-word;font:14px/1.6 inherit;font-family:inherit;background:var(--field);border-radius:12px;padding:16px;max-height:55vh;overflow:auto;margin:12px 0}
pre.body.small{max-height:180px;font-size:13px}
.hash{font:12px ui-monospace,Menlo,monospace;color:var(--muted);word-break:break-all}
.hint{background:var(--field);border-radius:12px;padding:14px 16px;margin:12px 0;font-size:14px}
.hint dt{color:var(--muted);font-size:13px;margin-top:8px}.hint dt:first-child{margin-top:0}.hint dd{margin:2px 0 0;font-weight:600;word-break:break-word}
.rep{font-size:14px;margin-top:6px}.rep .no{color:var(--bad)}.rep .q{color:var(--warn)}.rep .yes{color:var(--ok)}
.consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:15px}
details summary{cursor:pointer;color:var(--accent);font-weight:600;margin:8px 0}
@media (max-width:520px){main{padding:16px 12px 60px}.card{padding:16px}.topbar{padding:12px}}

dialog{border:0;border-radius:18px;padding:22px;max-width:460px;width:calc(100% - 32px);box-shadow:0 20px 60px rgba(30,27,46,.25);color:var(--ink)}
dialog::backdrop{background:rgba(30,27,46,.45)}
dialog h3{margin:0 0 6px;font-size:19px}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.btnrow button{margin:0;padding:9px 14px;min-height:38px;font-size:14px}
.sub.danger{color:var(--bad)}

/* задания: слева описание, справа статус и действия; на телефоне — в столбик */
.doc.task{align-items:flex-start;gap:14px;cursor:default}
.doc.task>div:first-child{flex:1;min-width:0}
.doc.task>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.doc.task .btnrow{justify-content:flex-end;margin-top:0}
.doc.task .item{color:var(--muted);font-size:13px;margin-top:2px}
/* напоминания одной карточкой */
.todo{background:var(--warn-bg);border-radius:16px;padding:6px 16px;margin:16px 0}
.todo h2{font-size:15px;margin:10px 0 2px;color:#7a5314}
.todo .item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid rgba(122,83,20,.15);color:#5f410f}
.todo .item:first-of-type{border-top:0}
.todo .item button{margin:0;padding:8px 14px;min-height:36px;font-size:14px}
@media (max-width:620px){
  .doc.task{flex-direction:column;align-items:stretch}
  .doc.task>div:last-child{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}
  .doc.task .btnrow{justify-content:flex-start}
  .todo .item{flex-direction:column;align-items:flex-start}
}

label.consent{color:var(--ink);font-size:15px;margin:12px 0}
