@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--ink:#172321;--muted:#6f7e79;--line:#dfe6e2;--cream:#f7f7f2;--paper:#fff;--green:#0b6d54;--mint:#e4f4ec;--gold:#e8b850;--coral:#b2483f}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}header{height:74px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,35px)}.brand{font-size:25px;font-weight:700;letter-spacing:-1.5px;text-decoration:none;color:var(--ink)}.brand span{color:var(--green)}.header-note,.eyebrow,footer{font:500 10px 'DM Mono',monospace;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.header-note i{font-style:normal;color:var(--green);border:1px solid #b9d9cb;padding:3px 5px;margin-left:8px}main{max-width:1160px;margin:auto;padding:70px 30px}.hero{max-width:750px;margin:25px auto;text-align:center}.eyebrow{color:var(--green);font-weight:500}.hero h1{font:700 clamp(45px,7vw,76px)/1.02 'Playfair Display',serif;letter-spacing:-3px;margin:14px 0}.hero h1 em{color:var(--green)}.intro{max-width:560px;margin:0 auto 37px;line-height:1.65;color:var(--muted);font-size:17px}#dropzone{display:flex;min-height:190px;border:1.5px dashed #a8bcb4;border-radius:5px;background:#fbfcfa;align-items:center;justify-content:center;flex-direction:column;gap:8px;cursor:pointer;transition:.2s}#dropzone:hover,#dropzone.drag{border-color:var(--green);background:#f1f8f4}.upload-icon{font-size:28px;width:43px;height:43px;border-radius:50%;background:var(--mint);color:var(--green);line-height:40px;margin-bottom:3px}#dropzone strong{font-size:16px}#dropzone span{font-size:13px;color:var(--muted)}#dropzone u{color:var(--green);font-weight:600}.file{margin-top:8px;padding:9px 13px;background:white;border:1px solid var(--line);display:flex;text-align:left;justify-content:space-between;font-size:13px}.file b{color:var(--green)}button{border:0;border-radius:3px;background:var(--green);color:white;font:600 14px 'DM Sans';padding:15px 23px;cursor:pointer;transition:.2s}button:hover{background:#07513f}button:disabled{background:#b5c1bc;cursor:not-allowed}#analyse{margin-top:17px;width:100%;font-size:15px}#analyse b{font-size:20px;margin-left:10px}.trust{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:25px;font-size:11px;color:var(--muted)}.hidden{display:none!important}.processing{text-align:center;margin:90px auto;max-width:440px}.processing h2,#results-view h2{font:700 38px 'Playfair Display';margin:10px 0}.processing p{color:var(--muted);font-size:14px}.spinner{width:42px;height:42px;border:3px solid #d6e8df;border-top-color:var(--green);border-radius:50%;animation:spin .8s infinite linear;margin:0 auto 28px}@keyframes spin{to{transform:rotate(360deg)}}.steps{margin:35px 0;text-align:left;border-top:1px solid var(--line)}.steps div{padding:15px;border-bottom:1px solid var(--line);color:var(--green);font-family:'DM Mono';font-size:13px}.steps span{color:var(--ink);font-family:'DM Sans';margin-left:8px}.result-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.result-top h2{margin:7px 0}.result-top p{margin:0;color:var(--muted);font-size:14px}.secondary{background:white;border:1px solid var(--line);color:var(--ink);padding:11px 15px}.secondary:hover{background:#f2f5f3}.recommend{background:var(--ink);color:white;padding:27px 31px;display:flex;align-items:center;gap:22px;margin-bottom:42px;position:relative;overflow:hidden}.recommend:after{content:'✦';font-size:150px;position:absolute;right:30px;color:#205346;opacity:.5}.star{width:53px;height:53px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#473503;font-size:22px;z-index:1}.recommend .eyebrow{color:#a8d9c5}.recommend h3{font:600 23px 'Playfair Display';margin:4px 0}.recommend p{margin:0;color:#cadad3;font-size:13px;position:relative;z-index:1}.section-title{display:flex;align-items:baseline;gap:13px;margin:0 0 14px}.section-title h3{font-size:17px;margin:0}.section-title span{color:var(--muted);font-size:12px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line)}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:15px 18px;text-align:center;border-bottom:1px solid var(--line);min-width:132px}th{background:#f6f9f7;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}th:first-child,td:first-child{text-align:left;min-width:180px;font-weight:500;color:var(--ink)}td.yes{color:var(--green);font-weight:bold}td.no{color:var(--coral);font-weight:bold}td.empty{color:#a7b1ad}.gap-area{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;margin-top:42px}.gap-cards{display:grid;gap:10px}.gap-card{border-left:3px solid var(--coral);background:white;padding:14px 17px}.gap-card.good{border-color:var(--green)}.gap-card strong{font-size:14px}.gap-card p{font-size:12px;color:var(--muted);margin:5px 0 0}.chat{background:#fff;border:1px solid var(--line);min-height:310px;display:flex;flex-direction:column}.chat-title{padding:15px;display:flex;gap:9px;border-bottom:1px solid var(--line)}.spark{color:var(--green);font-size:22px}.chat-title small{display:block;color:var(--muted);font-size:11px;margin-top:2px}#messages{padding:14px;flex:1;max-height:275px;overflow:auto;font-size:12px;line-height:1.5}.assistant-message{background:#edf7f2;padding:10px;border-radius:3px;max-width:92%}.user-message{margin:9px 0 9px auto;background:#f2f3f1;padding:9px;max-width:88%}#chat-form{border-top:1px solid var(--line);display:flex;padding:8px}#chat-form input{border:0;outline:0;flex:1;font:12px 'DM Sans';min-width:0}#chat-form button{padding:6px 11px;font-size:17px}footer{text-align:center;padding:25px;border-top:1px solid var(--line)}footer span{margin:0 8px}@media(max-width:700px){main{padding:40px 17px}.header-note{display:none}.gap-area{grid-template-columns:1fr}.result-top{align-items:start;gap:15px}.result-top h2{font-size:30px}.recommend{padding:20px}.trust{gap:11px}.hero h1{letter-spacing:-2px}}td.nq{color:#a7b1ad;font-weight:500;font-size:12px}td.quoted{color:var(--green);vertical-align:top}td.quoted .yes{font-size:15px;display:block}td.quoted small{display:block;color:var(--muted);font-weight:600;font-size:12px;margin-top:2px}td.quoted.best{background:var(--mint)}td.quoted.best small{color:var(--green)}td.quoted.best em{display:block;font-style:normal;font:500 9px 'DM Mono',monospace;letter-spacing:.6px;text-transform:uppercase;color:#8a6a12;margin-top:3px}.detail-heading{margin-top:38px}.detail-group{margin:0 0 24px}.detail-group .table-wrap{margin-top:0}
.section-header-row th {
    background: #edf2ef;
    color: var(--green);
    font: 600 11px 'DM Mono', monospace;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-align: left;
    padding: 12px 18px;
    border-bottom: 2px solid var(--line);
    border-top: 1px solid var(--line);
}

/* Editable Table Elements Styling */
.nq {
    cursor: pointer;
    transition: background-color 0.2s, color 0.2s;
}
.nq:hover {
    background-color: var(--mint);
    color: var(--green);
}
.toggle-quoted-btn {
    cursor: pointer;
    font-size: 15px;
    padding: 2px 6px;
    border-radius: 3px;
    background: transparent;
    display: inline-block;
    transition: background-color 0.2s, transform 0.1s;
}
.toggle-quoted-btn:hover {
    background: #e4ece8;
    transform: scale(1.1);
}
.cell-quoted-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 4px;
}
.premium-edit-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.currency-label {
    font-size: 11px;
    color: var(--muted);
    font-weight: 500;
}
.premium-edit-input {
    border: 1px dashed transparent;
    background: transparent;
    text-align: center;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    color: var(--ink);
    padding: 3px 6px;
    width: 90px;
    border-radius: 3px;
    transition: border-color 0.2s, background-color 0.2s;
}
.premium-edit-input:hover {
    border-color: #a8bcb4;
    background: #fcfdfd;
}
.premium-edit-input:focus {
    border-color: var(--green);
    background: #ffffff;
    outline: none;
    box-shadow: 0 0 0 2px rgba(11, 109, 84, 0.15);
}
.benefit-value-wrap {
    padding: 2px;
    min-height: 22px;
}
.benefit-value-edit {
    display: inline-block;
    min-width: 50px;
    padding: 2px 4px;
    border: 1px dashed transparent;
    border-radius: 3px;
    outline: none;
    transition: border-color 0.2s, background-color 0.2s;
}
.benefit-value-edit:hover {
    border-color: #a8bcb4;
    background: #fbfcfc;
    cursor: text;
}
.benefit-value-edit:focus {
    border-color: var(--green);
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(11, 109, 84, 0.15);
}
