/* phone-locate —— 手机号归属地业务样式（依赖 calc-common.css + crypto-common.css） */

.pl-shortcuts { margin-bottom: 12px; }
.pl-shortcut {
    padding: 10px 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--c-text);
    background: var(--c-surface-soft);
    border: 1px solid var(--c-border);
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.15s ease;
}
.pl-shortcut:hover {
    border-color: var(--c-primary);
    color: var(--c-primary);
}
.pl-shortcut:active { transform: scale(0.97); }

.pl-btns { display: flex; gap: 10px; flex-wrap: wrap; }

.pl-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.pl-item {
    padding: 14px 16px;
    background: var(--c-surface-soft);
    border-radius: 12px;
    border-left: 4px solid var(--c-border);
    transition: all 0.15s ease;
}
.pl-item.pl-error {
    border-left-color: #e74c3c;
    background: color-mix(in srgb, #e74c3c 8%, var(--c-surface-soft));
}
.pl-item.pl-valid {
    border-left-color: var(--c-primary);
}
.pl-item.pl-virtual {
    border-left-color: #f39c12;
    background: color-mix(in srgb, #f39c12 8%, var(--c-surface-soft));
}

.pl-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    flex-wrap: wrap;
    gap: 6px;
}
.pl-number {
    font-size: 18px;
    font-weight: 900;
    letter-spacing: 0.05em;
    font-variant-numeric: tabular-nums;
    color: var(--c-text);
}
.pl-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.pl-badge {
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 10px;
    letter-spacing: 0.03em;
}
.pl-badge-op { color: #fff; }
.pl-badge-op.mobile { background: #27ae60; }
.pl-badge-op.unicom  { background: #2980b9; }
.pl-badge-op.telecom { background: #e74c3c; }
.pl-badge-op.broadnet { background: #8e44ad; }
.pl-badge-op.virtual { background: #f39c12; color: #fff; }

.pl-badge-type {
    background: color-mix(in srgb, var(--c-primary) 10%, transparent);
    color: var(--c-primary);
}
.pl-badge-virtual {
    background: color-mix(in srgb, #f39c12 15%, transparent);
    color: #d35400;
}
.pl-badge-error {
    background: color-mix(in srgb, #e74c3c 15%, transparent);
    color: #c0392b;
}

.pl-detail {
    font-size: 13px;
    color: var(--c-text-sub);
    line-height: 1.7;
}
.pl-detail-row {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}
.pl-detail-row > span { white-space: nowrap; }
.pl-detail-row b { color: var(--c-text); font-weight: 700; }
.pl-format {
    margin-top: 6px;
    font-size: 12px;
    color: var(--c-text-sub);
}
.pl-format b {
    font-weight: 800;
    color: var(--c-primary);
    letter-spacing: 0.1em;
}

.pl-flag {
    display: inline-block;
    color: #fff;
    font-weight: 800;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 4px;
    margin-right: 6px;
    vertical-align: middle;
}

@media (max-width: 640px) {
    .pl-number { font-size: 15px; }
    .pl-badge { font-size: 10px; padding: 2px 7px; }
    .pl-head { flex-direction: column; align-items: flex-start; }
}
