
.cgssf-wrap{max-width:860px;margin:20px auto;padding:0;box-sizing:border-box}
.cgssf-card{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:12px;padding:16px;box-shadow:0 6px 16px rgba(0,0,0,.06)}
.cgssf-title{font-size:20px;font-weight:800;margin:0 0 6px}
.cgssf-sub{font-size:14px;color:#333;margin:4px 0}
.cgssf-row{display:flex;gap:10px;align-items:center;margin-top:12px}
.cgssf-row-tight{margin-top:10px}
.cgssf-input{flex:1;min-height:44px;padding:10px 12px;border:1px solid rgba(0,0,0,.18);border-radius:10px;font-size:15px;box-sizing:border-box}
.cgssf-select{width:100%;min-height:44px;padding:10px 12px;border:1px solid rgba(0,0,0,.18);border-radius:10px;font-size:15px;box-sizing:border-box;background:#fff}
.cgssf-btn{min-height:44px;padding:10px 14px;background:#000;color:#fff;border:none;border-radius:0;font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap}
.cgssf-btn-block{width:100%;display:block}
.cgssf-btn:disabled{opacity:.45;cursor:not-allowed}
.cgssf-btn-ghost{background:#000;color:#fff;border:1px solid rgba(0,0,0,.25)}
.cgssf-suggest{margin-top:10px;border:1px solid rgba(0,0,0,.14);border-radius:10px;overflow:hidden}
.cgssf-s-item{padding:10px 12px;cursor:pointer;background:#fff;border-top:1px solid rgba(0,0,0,.08)}
.cgssf-s-item:first-child{border-top:none}
.cgssf-s-item:hover{background:rgba(0,0,0,.04)}
.cgssf-hint{margin-top:10px;color:#555;font-size:13px}
.cgssf-box{margin-top:10px;background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:10px 12px}
.cgssf-mini{font-size:13px}
.cgssf-mini-title{font-size:13px;font-weight:800;margin-bottom:6px}
.cgssf-route-list{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.cgssf-group{border:1px solid rgba(0,0,0,.10);border-radius:12px;padding:10px}
.cgssf-group-title{font-size:14px;font-weight:900;margin:0 0 6px}
.cgssf-route-item{display:block;padding:10px;border:1px solid rgba(0,0,0,.10);border-radius:12px;margin-top:8px;background:#fff;cursor:pointer}
.cgssf-route-item input{margin-right:8px;transform:scale(1.1)}
.cgssf-route-main{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.cgssf-route-name{font-weight:900}
.cgssf-route-meta{font-size:12px;color:#444}
.cgssf-route-path{display:block;margin-top:6px;font-size:12px;color:#333;opacity:.9}
.cgssf-dest{margin-top:14px}
.cgssf-dest-title{font-size:14px;font-weight:900;margin:0 0 8px}
.cgssf-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.cgssf-metric{border:1px solid rgba(0,0,0,.10);border-radius:12px;padding:10px;background:#fff}
.cgssf-metric-label{font-size:12px;color:#444}
.cgssf-metric-value{font-size:22px;font-weight:900;margin-top:4px}
.cgssf-metric-sub{font-size:12px;color:#666;margin-top:4px}
.cgssf-reco{margin-top:12px;border:1px solid rgba(0,0,0,.10);border-radius:12px;padding:12px;background:rgba(0,0,0,.02)}
.cgssf-reco-title{font-size:13px;font-weight:900;margin-bottom:4px}
.cgssf-reco-body{font-size:16px;font-weight:900}
.cgssf-path{font-size:13px;line-height:1.5}
.cgssf-note{margin-top:12px;font-size:12px;color:#555;line-height:1.55}
@media (max-width:720px){
  .cgssf-row{flex-direction:column;align-items:stretch}
  .cgssf-btn{width:100%}
  .cgssf-metrics{grid-template-columns:1fr}
}
/* v1.0.2 overrides: square UI + black buttons */
.cgssf-card,
.cgssf-suggest,
.cgssf-group,
.cgssf-mini,
.cgssf-metric,
.cgssf-reco{
  border-radius:0 !important;
}

.cgssf-input,
.cgssf-select{
  border-radius:0 !important;
}

.cgssf-wrap .cgssf-btn,
.cgssf-wrap .cgssf-btn-ghost,
.cgssf-wrap button,
.cgssf-wrap a.cgssf-btn{
  background:#000 !important;
  color:#fff !important;
  border-radius:0 !important;
  border:1px solid #000 !important;
}
