:root{--blue: #1557c0;--blue-deep: #0d3d8c;--blue-soft: #e8f0fc;--yellow: #f5c518;--yellow-deep: #e0a800;--yellow-soft: #fff6d1;--white: #ffffff;--ink: #10203a;--muted: #5a6b85;--accent: var(--blue);--accent-2: var(--yellow-deep);--card: var(--white);--line: rgba(21, 87, 192, .14);--danger: #c62828;--shadow: 0 10px 28px rgba(13, 61, 140, .08);font-family:Manrope,sans-serif;color:var(--ink);background:radial-gradient(circle at 0% 0%,rgba(245,197,24,.28) 0%,transparent 38%),radial-gradient(circle at 100% 0%,rgba(21,87,192,.16) 0%,transparent 42%),linear-gradient(165deg,#f7faff,#eef4ff 45%,#fff);min-height:100%}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select{font:inherit}a{color:inherit}.app-shell{width:100%;max-width:none;margin:0 auto;padding:16px 20px 28px}.brand{font-family:"Source Serif 4",serif;font-size:1.6rem;font-weight:700;color:var(--blue-deep);letter-spacing:-.02em}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:14px 18px;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);border-top:4px solid var(--yellow)}.nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.nav a,.btn{border:1px solid var(--line);background:var(--white);color:var(--ink);padding:8px 14px;border-radius:10px;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.nav a:hover,.btn:hover{border-color:#1557c059;background:var(--blue-soft)}.nav a.active,.btn.primary{background:var(--blue);color:#fff;border-color:transparent}.nav a.active:hover,.btn.primary:hover{background:var(--blue-deep);color:#fff}.btn.danger{background:var(--danger);color:#fff;border-color:transparent}.btn.warn{background:var(--yellow);color:#1a1400;border-color:transparent;font-weight:700}.btn.warn:hover{background:var(--yellow-deep);color:#1a1400}.btn:disabled{opacity:.55;cursor:not-allowed}.panel{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow)}.panel h2{margin:0 0 14px;color:var(--blue-deep);font-size:1.35rem}.page-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:14px}.page-head h2{margin:0}.order-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:var(--yellow-soft);border:1px solid rgba(224,168,0,.45);color:#7a5a00;font-size:.85rem;font-weight:700}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);background:var(--white);border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow);border-top:5px solid var(--yellow)}.login-card h1{font-family:"Source Serif 4",serif;margin:0 0 8px;color:var(--blue-deep)}.muted{color:var(--muted)}.error{color:var(--danger);margin-top:8px;font-weight:600}label{display:block;margin:12px 0 6px;font-weight:600}input,select,textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;font:inherit}input:focus,select:focus,textarea:focus{outline:2px solid rgba(21,87,192,.25);border-color:var(--blue)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--white)}table{width:100%;border-collapse:collapse;font-size:.92rem}table.resizable{table-layout:fixed;width:100%;min-width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}table.resizable th,table.resizable td{max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}table.resizable thead th{background:var(--blue-soft);color:var(--blue-deep);font-weight:700}table.resizable td>a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--blue);font-weight:600}table.resizable td input,table.resizable td textarea,table.resizable td select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}table.resizable td.ticket-comment-cell{overflow:hidden;white-space:normal;vertical-align:top}.ticket-comment-input{display:block;resize:none;height:2.4em;line-height:1.35;padding:8px 12px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border-radius:10px}.ticket-comment-input.is-expanded,.ticket-comment-input:focus{white-space:pre-wrap;overflow-y:auto;overflow-x:hidden;height:auto;min-height:4.8em;max-height:7.2em}.th-inner{display:flex;align-items:center;gap:4px;position:relative;min-width:0}.th-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.col-resizer{position:absolute;top:-10px;right:-8px;bottom:-10px;width:10px;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:3}.col-resizer:after{content:"";position:absolute;top:20%;bottom:20%;left:4px;width:2px;border-radius:1px;background:transparent}th:hover .col-resizer:after,.col-resizer:hover:after,body.col-resizing .col-resizer:after{background:var(--blue)}body.col-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}th{color:var(--muted);font-weight:600}.call-remaining{margin:0 0 14px;padding:12px 16px;border-radius:12px;border:1px solid rgba(224,168,0,.4);background:linear-gradient(90deg,var(--yellow-soft),#fff);color:var(--blue-deep);font-weight:700;font-size:1.02rem;box-shadow:0 4px 14px #f5c5182e}.call-queue-updating{margin:0 0 14px;padding:12px 16px;border-radius:12px;border:1px solid rgba(30,90,180,.35);background:linear-gradient(90deg,#1e5ab414,#fff);color:var(--blue-deep);font-weight:700;font-size:1.02rem}.call-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.call-actions .btn{width:100%;min-height:48px}.client-grid{display:grid;grid-template-columns:minmax(140px,1.35fr) minmax(168px,1.05fr) minmax(110px,.85fr) minmax(96px,.75fr) 108px minmax(120px,1fr) 92px;gap:10px 12px;margin-bottom:14px;padding:14px;border-radius:12px;background:linear-gradient(180deg,var(--blue-soft),var(--white));border:1px solid var(--line);align-items:end}@media(max-width:1100px){.client-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:start}}.field{min-width:0}.field span{display:block;color:var(--muted);font-size:.85rem;margin-bottom:2px}.field strong{font-size:1.05rem;color:var(--ink)}.field-comment{align-self:start}.client-comment-wrap{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:2px;min-width:0}.client-comment-input{display:block;resize:none;min-height:2.4em;height:2.4em;line-height:1.35;padding:10px 12px;border-radius:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.client-comment-input.is-open{white-space:pre-wrap;overflow:auto;text-overflow:clip;min-height:4.2em;height:auto}.client-comment-readonly{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:600}.client-comment-readonly.is-open{white-space:pre-wrap;overflow:visible;text-overflow:clip}.client-comment-toggle{align-self:center;width:28px;height:20px;padding:0;border:none;background:transparent;color:var(--muted);font-size:.95rem;line-height:1;cursor:pointer;border-radius:6px}.client-comment-toggle:hover{color:var(--blue);background:var(--blue-soft)}.field-phone{position:relative;z-index:1;min-width:0}.field-messenger select{width:100%;max-width:108px;padding-left:8px;padding-right:6px}.field-no-answer strong{display:block;text-align:center}.field-value-row{display:flex;align-items:center;gap:8px;min-height:1.4em;max-width:100%}.field-value-row .phone-value{white-space:nowrap;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.field-value-row input{flex:1;min-width:0}.field-icons{display:inline-flex;gap:4px;flex:0 0 auto;margin-left:auto;padding-left:4px}.icon-btn{border:1px solid var(--line);background:var(--white);border-radius:8px;width:30px;height:30px;padding:0;cursor:pointer;line-height:1;font-size:.95rem;color:var(--ink);display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{border-color:var(--blue);color:var(--blue)}.icon-btn.danger{color:var(--danger)}.icon-btn.danger:hover{background:var(--danger);color:#fff;border-color:transparent}.ticket-group-row td{background:linear-gradient(90deg,var(--blue),var(--blue-deep));color:#fff;font-weight:700;font-size:.95rem;padding:10px 12px;border-top:none}.ticket-group-count{font-weight:500;color:#fffc}.ticket-row{cursor:pointer}.ticket-row:hover td{background:#1557c00d}.ticket-row-open td{background:var(--yellow-soft)}.hl-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-weight:700;line-height:1.35;white-space:nowrap}.hl-badge.hl-overdue,.hl-badge.hl-grace-soon{background:#c9a227;color:#1a1400}.hl-badge.hl-main-soon{background:var(--blue);color:#fff}.hl-badge.hl-doc-year{background:#c9a227;color:#1a1400}.hl-badge.hl-doc-year a{color:inherit}.ticket-detail-row td{background:#f8fbff;padding:12px 14px;border-bottom:1px solid var(--line)}.ticket-detail-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 20px}@media(max-width:1100px){.ticket-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ticket-detail-grid>div{min-width:0}.ticket-detail-grid span{display:block;color:var(--muted);font-size:.8rem;margin-bottom:2px}.ticket-detail-grid strong{display:block;font-size:.98rem;font-weight:600;overflow-wrap:anywhere;word-break:break-word;white-space:normal;line-height:1.35}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.toolbar input{flex:1;min-width:200px}.ticket-sum-bar{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:baseline;margin:0 0 12px;padding:12px 16px;border-radius:12px;border:1px solid rgba(224,168,0,.4);background:linear-gradient(90deg,var(--yellow-soft),#fff);color:var(--blue-deep);font-size:1.02rem}.ticket-sum-bar strong{font-weight:800;font-variant-numeric:tabular-nums}.ticket-sum-bar-hint{border-color:var(--line);background:var(--blue-soft);color:var(--muted);font-size:.95rem}.ticket-sel-cell{text-align:center;vertical-align:middle}.ticket-sel-cell input{width:16px;height:16px;cursor:pointer}.ticket-row-selected td{background:#f5c5181f}.ticket-row-selected:hover td{background:#f5c5182e}
