:root{font-family:Georgia,Times New Roman,serif;color:#111827;background:#f3f4f6;line-height:1.4}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:#f3f4f6}body{min-width:320px}button,input,select{font:inherit}.container{max-width:1320px;margin:0 auto;padding:24px 28px 40px}.page-title-row{display:flex;align-items:center;gap:14px;margin-bottom:18px}.page-title{margin:0;font-size:30px;font-weight:700;color:#0f172a}.page-subtitle{margin:0 0 20px;color:#4b5563;font-size:15px}.main-layout{display:grid;grid-template-columns:380px 1fr;gap:26px;align-items:start}.right-stack{display:grid;gap:24px}.card{background:#fff;border:1px solid #d8dde6;border-radius:18px;padding:18px 18px 20px;box-shadow:0 1px #00000008}.card-title{margin:0 0 16px;font-size:18px;font-weight:700;color:#111827}.field{display:flex;flex-direction:column;gap:8px}.label{font-size:15px;font-weight:700;color:#111827}.input,.select{width:100%;min-height:50px;border:1px solid #9ca3af;background:#dbe8d2;border-radius:10px;padding:10px 14px;outline:none;font-size:16px}.input:focus,.select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb14}.button{border:1px solid #cbd5e1;border-radius:10px;padding:10px 18px;cursor:pointer;font-weight:700;font-size:15px;transition:.18s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:#2f66e0;color:#fff;border-color:#2f66e0}.button-secondary{background:#fff;color:#111827}.button-success{background:#16a34a;color:#fff;border-color:#16a34a}.button-dark{background:#0f172a;color:#fff;border-color:#0f172a}.button-row{display:flex;gap:12px;flex-wrap:wrap}.message{padding:12px 14px;border-radius:10px;margin-bottom:16px;font-size:14px}.message-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.message-info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.message-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.table-wrap{width:100%;overflow-x:hidden}.table{width:100%;border-collapse:collapse;table-layout:fixed}.table th,.table td{border-bottom:1px solid #e5e7eb;padding:14px 10px;text-align:center;vertical-align:middle;font-size:15px}.table th{background:#f5f6f8;color:#111827;font-weight:700}.table th:first-child,.table td:first-child{text-align:left}.runner-cell{white-space:normal;word-break:break-word;line-height:1.25}.selected-row{background:#f8fafc}.fancy-list-card{min-height:640px}.fancy-list-scroll{max-height:700px;overflow-y:auto;overflow-x:hidden;padding-right:4px}.source-panel-inner{border:1px solid #d7dde7;border-radius:14px;padding:14px;background:#fcfcfd}.source-runner-title{font-size:18px;font-weight:700;margin:0 0 10px;color:#111827}.source-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.price-block-label{font-size:15px;font-weight:700;margin-bottom:6px}.price-box{border-radius:12px;min-height:54px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;border:1px solid transparent}.back-box{background:#cfe0f8;border-color:#b4ccef}.lay-box{background:#f6cddd;border-color:#ecabc7}.size-box{margin-top:8px;min-height:44px;border:1px solid #d9dde5;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#374151;background:#fff;font-weight:600}.calculation-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 16px}.calculation-grid .full-width{grid-column:1 / -1}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px}.preview-box{border:1px dashed #8b5cf6;border-radius:10px;min-height:42px;display:flex;align-items:center;padding:10px 12px;color:#111827;background:#fff;font-weight:500}.calculate-btn{width:100%;min-height:46px;margin-top:20px;border-radius:10px;border:0;background:#2f66e0;color:#fff;font-weight:700;font-size:16px;cursor:pointer}.calculate-btn:hover{background:#2858c8}.market-box{display:grid;gap:16px}.market-heading{text-align:center;font-size:18px;font-weight:700;color:#111827;margin:0}.market-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid #d7dde7;border-radius:14px;overflow:hidden}.market-table th,.market-table td{padding:16px 14px;text-align:center;border-bottom:1px solid #e5e7eb;font-size:16px}.market-table th{background:#f7f7f9;font-weight:700}.market-table tr:last-child td{border-bottom:0}.market-table td:first-child{text-align:left;font-weight:700;background:#fff}.back-cell{background:#cfe0f8;font-weight:700;font-size:18px}.lay-cell{background:#f6cddd;font-weight:700;font-size:18px}.kv-grid{display:grid;grid-template-columns:180px 1fr;gap:8px 14px}.kv-key{color:#6b7280;font-weight:700}.kv-value{color:#111827;font-weight:600}@media (max-width: 1100px){.main-layout{grid-template-columns:1fr}.fancy-list-card{min-height:auto}.fancy-list-scroll{max-height:360px}}@media (max-width: 700px){.source-price-grid,.calculation-grid,.preview-grid{grid-template-columns:1fr}.container{padding:18px 14px 32px}.page-title{font-size:26px}}.fancy-table td:nth-child(2){padding:6px}.fancy-table td:nth-child(3){padding:6px}.fancy-table td:nth-child(2) .table-price-box{background:#cfe0f8;border-color:#b4ccef}.fancy-table td:nth-child(3) .table-price-box{background:#f6cddd;border-color:#ecabc7}.fancy-table th:last-child,.fancy-table td:last-child{padding-left:14px;padding-right:14px;min-width:110px}.fancy-action-btn{min-width:120px;padding:10px 14px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.fancy-table{width:100%;table-layout:fixed}.fancy-table th,.fancy-table td{padding:12px 8px;vertical-align:middle;text-align:center}.fancy-table th:first-child,.fancy-table td:first-child{text-align:left}.runner-cell{white-space:normal;word-break:break-word;line-height:1.25;font-size:15px}.action-cell{text-align:center;padding-left:6px;padding-right:6px}.fancy-action-btn{width:100%;min-width:0;max-width:100%;padding:10px 8px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.table-price-box{border-radius:10px;border:1px solid transparent;min-height:72px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:6px 8px}.table-price-back{background:#cfe0f8;border-color:#b4ccef}.table-price-lay{background:#f6cddd;border-color:#ecabc7}.table-price-value{font-size:18px;font-weight:700;color:#0f172a;line-height:1.1}.table-price-size{margin-top:4px;font-size:11px;font-weight:600;color:#374151;text-align:center}
