/* ===== Teklif Portalı ===== */
.tq-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:12px}
.tq-tabs button{font:inherit;font-size:12.5px;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);cursor:pointer}
.tq-tabs button.on{background:var(--accent);border-color:var(--accent);color:#fff}
.tq-tabs button .n{margin-left:5px;font-size:11px;opacity:.75}
.tq-filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.tq-filters input,.tq-filters select{font:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.tq-filters input[type=search]{min-width:220px;flex:1}
/* pano */
.tq-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.tq-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;cursor:pointer;min-height:84px;display:flex;flex-direction:column}
.tq-kpi:hover{border-color:var(--accent)}
.tq-kpi .l{font-size:11.5px;color:var(--ink-3)}
.tq-kpi .v{font-family:Barlow,sans-serif;font-size:26px;font-weight:600;line-height:1.1;margin-top:4px;font-variant-numeric:tabular-nums}
.tq-kpi .v small{font-size:13px;color:var(--ink-3);font-weight:500;margin-left:3px}
.tq-kpi .d{font-size:12px;color:var(--ink-3);margin-top:auto}
.tq-kpi.warn .v{color:#b8730a}.tq-kpi.crit .v{color:var(--critical)}.tq-kpi.good .v{color:var(--good)}
.tq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}
.tq-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.tq-card h3{font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 8px;display:flex;align-items:center;gap:8px}
.tq-card h3 .spacer{flex:1}
.tq-card h3 a{font-size:11.5px;text-transform:none;letter-spacing:0;font-weight:500}
.tq-row{display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line-2);cursor:pointer;font-size:13px}
.tq-row:last-child{border-bottom:0}
.tq-row:hover{background:var(--surface-2)}
.tq-row .t{flex:1;min-width:0}
.tq-row .t b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;font-size:13px}
.tq-row .t small{color:var(--ink-3);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tq-row .r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tq-row .r b{display:block}
.tq-row .r small{color:var(--ink-3)}
/* durum rozetleri */
.st{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;white-space:nowrap}
.st-taslak{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}
.st-onayda{background:rgba(250,178,25,.18);color:#8a5d00}
.st-acik{background:var(--accent-soft);color:var(--accent-ink)}
.st-revize{background:rgba(236,131,90,.18);color:#9a4a22}
.st-onaylandi{background:rgba(12,163,12,.14);color:#0c6e0c}
.st-siparis{background:#0c6e0c;color:#fff}
.st-kayip{background:rgba(208,59,59,.12);color:var(--critical)}
.st-iptal{background:var(--surface-2);color:var(--ink-3);text-decoration:line-through}
.st-erp{background:#e8f4f6;color:#0f5a63;border:1px dashed #0f5a63}
/* liste tablosu */
.tq-table{width:100%;border-collapse:collapse;font-size:13px}
.tq-table th{text-align:left;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:8px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.tq-table td{padding:9px 8px;border-bottom:1px solid var(--line-2);vertical-align:top}
.tq-table tr:hover td{background:var(--surface-2)}
.tq-table td.r,.tq-table th.r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tq-table .sub{color:var(--ink-3);font-size:11.5px;display:block}
.tq-table a.no{font-weight:600;color:var(--ink);text-decoration:none}
.tq-table tr{cursor:pointer}
.gecer{font-size:11.5px;padding:1px 6px;border-radius:6px}
.gecer.ok{background:rgba(12,163,12,.12);color:#0c6e0c}.gecer.yakin{background:rgba(250,178,25,.2);color:#8a5d00}.gecer.doldu{background:rgba(208,59,59,.12);color:var(--critical)}
/* editör */
.tq-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.tq-head h2{font-size:18px;margin:0}
.tq-head .spacer{flex:1}
.tq-head .btns{display:flex;gap:6px;flex-wrap:wrap}
.tq-editor{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:14px;align-items:start}
@media (max-width:1100px){.tq-editor{grid-template-columns:1fr}}
.tq-sec{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px}
.tq-sec h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-ink);margin:0 0 10px;display:flex;align-items:center;gap:8px}
.tq-sec h3 .spacer{flex:1}
.tq-sec h3 .muted{text-transform:none;letter-spacing:0;font-weight:400}
.tq-sec .row4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.tq-sec .row3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tq-sec .row2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (max-width:760px){.tq-sec .row4,.tq-sec .row3{grid-template-columns:1fr 1fr}.tq-sec .row2{grid-template-columns:1fr}}
@media (max-width:480px){.tq-sec .row4,.tq-sec .row3{grid-template-columns:1fr}}
.tq-sec .field{margin-bottom:8px}
.tq-sec .field label{font-size:11.5px}
.tq-sec .field input,.tq-sec .field select,.tq-sec .field textarea{font-size:13.5px;padding:7px 9px}
.tq-sec .field input[readonly]{background:var(--surface-2);color:var(--ink-2)}
.cari-box{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}
.cari-box .sel{flex:1;min-width:240px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.cari-box .sel b{display:block;font-size:14px}
.cari-box .sel small{color:var(--ink-3)}
.cari-box .sel .kv2{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;font-size:12px;color:var(--ink-2)}
.ac-list{position:absolute;z-index:20;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);max-height:320px;overflow:auto;width:min(560px,calc(100vw - 40px))}
.ac-list div{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--line-2);font-size:13px}
.ac-list div:hover,.ac-list div.on{background:var(--accent-soft)}
.ac-list div small{display:block;color:var(--ink-3);font-size:11.5px}
.ac-wrap{position:relative}
/* kalem tablosu */
.kal-table{width:100%;border-collapse:collapse;font-size:13px}
.kal-table th{text-align:left;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:6px 5px;border-bottom:1px solid var(--line);white-space:nowrap}
.kal-table td{padding:5px 4px;border-bottom:1px solid var(--line-2);vertical-align:top}
.kal-table td input,.kal-table td textarea,.kal-table td select{font:inherit;font-size:13px;padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);width:100%}
.kal-table td input.r{text-align:right;font-variant-numeric:tabular-nums}
.kal-table td textarea{min-height:32px;resize:vertical;font-size:12px}
.kal-table td.r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.kal-table tr.baslik td{background:var(--surface-2)}
.kal-table tr.baslik td input{font-weight:600}
.kal-table tr.ops td{opacity:.75}
.kal-table .kod{font-family:"IBM Plex Mono",monospace;font-size:12px}
.kal-table .hint{font-size:11px;color:var(--ink-3);white-space:nowrap}
.kal-table .hint b{color:var(--ink-2)}
.kal-table .acts{white-space:nowrap}
.kal-table .acts button{background:transparent;border:0;cursor:pointer;color:var(--ink-3);padding:3px;font-size:14px}
.kal-table .acts button:hover{color:var(--ink)}
.kal-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.kal-tot{display:grid;grid-template-columns:1fr auto;gap:4px 18px;margin-top:12px;margin-left:auto;max-width:360px;font-size:13.5px}
.kal-tot b{font-variant-numeric:tabular-nums;text-align:right}
.kal-tot .g{font-size:16px;color:var(--accent-ink);border-top:1px solid var(--line);padding-top:6px;margin-top:2px}
.kal-tot .marj{font-size:12px;color:var(--ink-3)}
@media (max-width:760px){.kal-wrap{overflow:auto}.kal-table{min-width:760px}}
/* yan panel */
.side .tq-sec{padding:12px 14px}
.k360 .yil{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}
.k360 .yil th{font-size:10.5px;color:var(--ink-3);text-align:right;padding:3px 4px;border-bottom:1px solid var(--line)}
.k360 .yil th:first-child,.k360 .yil td:first-child{text-align:left}
.k360 .yil td{text-align:right;padding:3px 4px;border-bottom:1px solid var(--line-2);font-variant-numeric:tabular-nums}
.k360 .kv{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:12.5px}
.k360 .kv b{color:var(--ink-3);font-weight:500}
.k360 .warnbox{background:rgba(250,178,25,.15);color:#8a5d00;border-radius:8px;padding:6px 10px;font-size:12px;margin-top:8px}
.k360 .critbox{background:rgba(208,59,59,.1);color:var(--critical);border-radius:8px;padding:6px 10px;font-size:12px;margin-top:8px}
.ol-list{font-size:12.5px}
.ol-list .ol{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--line-2)}
.ol-list .ol .ic{width:20px;text-align:center;flex:none}
.ol-list .ol .b{flex:1;min-width:0}
.ol-list .ol .b small{color:var(--ink-3);display:block}
.tq-link{font-family:"IBM Plex Mono",monospace;font-size:11.5px;word-break:break-all;background:var(--surface-2);padding:6px 8px;border-radius:8px}
.prog{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;margin-top:4px}
.prog i{display:block;height:100%;background:var(--accent)}
.olas{display:inline-flex;gap:3px}
.olas button{font:inherit;font-size:11px;padding:2px 7px;border:1px solid var(--line);background:var(--surface);border-radius:6px;cursor:pointer;color:var(--ink-2)}
.olas button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
/* doküman ve proje */
.dok-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.dok-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px}
.dok-card b{display:block}
.dok-card .m{color:var(--ink-3);font-size:11.5px}
.chip.tur{font-size:10.5px}
.benzer{border-left:3px solid var(--warn);padding:8px 10px;background:var(--surface-2);border-radius:8px;margin:6px 0;font-size:12.5px}
.benzer b.pct{color:#8a5d00}
.uyari-list{margin:6px 0;padding-left:18px;font-size:13px}
.uyari-list li{margin:2px 0}
.uyari-list.eksik li{color:var(--critical)}
.uyari-list.esik li{color:#8a5d00}
.rev-badge{font-size:11px;color:var(--ink-3)}
.tq-mob-actions{display:none}
@media (max-width:760px){.tq-mob-actions{display:flex;position:sticky;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding:8px 10px;gap:6px;z-index:5;margin:0 -22px}}
.stok-pick{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:8px 10px;border-bottom:1px solid var(--line-2);cursor:pointer;font-size:13px}
.stok-pick:hover{background:var(--accent-soft)}
.stok-pick .kod{font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink-2)}
.stok-pick .fy{text-align:right;font-variant-numeric:tabular-nums}
.stok-pick .fy b{display:block}
.stok-pick .fy small{color:var(--ink-3)}
.stok-pick .gec{grid-column:1/-1;font-size:11.5px;color:#8a5d00}
.tq-more-btn{margin-top:6px}
.tq-table td.cari{min-width:240px;max-width:380px}
@media (max-width:700px){.tq-table td.cari{min-width:160px}}
.rev-fark .row>div{flex:1}.rev-fark h4{margin:12px 0 6px;font-size:13px}.rev-fark tr.ek td{background:rgba(12,163,12,.08)}.rev-fark tr.cik td{background:rgba(208,59,59,.08);text-decoration:line-through}.rev-fark tr.deg td{background:rgba(250,178,25,.10)}
.sip-kal input.sm{padding:3px 6px;font-size:12.5px}
