/* ================= TOOL LAYOUT ================= */

.tool-container{
max-width:900px;
margin:40px auto;
padding:20px;
}

.tool-desc{
color:#666;
margin-top:10px;
}

/* ================= INPUT ================= */

.tool-box{
display:flex;
gap:10px;
margin-top:20px;
flex-wrap:wrap;
}

.tool-input{
flex:1;
min-width:200px;
padding:12px;
border:1px solid #ddd;
border-radius:8px;
font-size:14px;
transition:0.2s;
}

.tool-input:focus{
border-color:#0d6efd;
outline:none;
box-shadow:0 0 0 2px rgba(13,110,253,0.1);
}

.tool-btn{
padding:12px 20px;
background:#0d6efd;
color:#fff;
border:none;
border-radius:8px;
cursor:pointer;
font-weight:500;
transition:0.2s;
}

.tool-btn:hover{
background:#0b5ed7;
}

/* ================= RESULT ================= */

.result-box{
margin-top:25px;
}

/* ================= TABLE ================= */

.port-table{
width:100%;
border-collapse:collapse;
margin-top:10px;
background:#fff;
border-radius:10px;
overflow:hidden;
box-shadow:0 2px 10px rgba(0,0,0,0.05);
}

.port-table th{
background:#111;
color:#fff;
padding:12px;
font-weight:500;
font-size:14px;
}

.port-table td{
padding:12px;
border-bottom:1px solid #eee;
font-size:14px;
}

/* zebra */
.port-table tr:nth-child(even){
background:#fafafa;
}

/* hover */
.port-table tr:hover{
background:#f1f5ff;
}

/* ================= STATUS ================= */

.open{
color:#198754;
font-weight:600;
}

.closed{
color:#dc3545;
font-weight:600;
}

/* badge style */
.status-badge{
display:inline-block;
padding:4px 10px;
border-radius:20px;
font-size:12px;
font-weight:600;
}

.open.status-badge{
background:#d1e7dd;
color:#0f5132;
}

.closed.status-badge{
background:#f8d7da;
color:#842029;
}

/* ================= SERVICE TAG ================= */

.service-tag{
display:inline-block;
padding:3px 8px;
background:#eef3ff;
color:#0d6efd;
border-radius:6px;
font-size:12px;
}

/* ================= LOADING ================= */

.loading{
text-align:center;
color:#666;
padding:20px;
}

/* ================= MOBILE ================= */

@media(max-width:768px){

.tool-box{
flex-direction:column;
}

.tool-btn{
width:100%;
}

.port-table th,
.port-table td{
font-size:13px;
padding:10px;
}

}


/* ================= TOOL CONTENT ================= */

.tool-content{
max-width:900px;
margin:50px auto;
padding:0 20px;
line-height:1.7;
color:#333;
}

/* H2 */
.tool-content h2{
font-size:24px;
margin-top:40px;
margin-bottom:15px;
color:#111;
border-left:4px solid #0d6efd;
padding-left:12px;
}

/* H3 */
.tool-content h3{
font-size:18px;
margin-top:30px;
margin-bottom:10px;
color:#0d6efd;
}

/* Paragraph */
.tool-content p{
font-size:15px;
color:#444;
margin-bottom:15px;
}

/* List */
.tool-content ul{
margin:10px 0 20px 20px;
}

.tool-content li{
margin-bottom:8px;
font-size:15px;
}

/* ================= BOX ================= */

.highlight-box{
background:#f8f9fa;
border-left:4px solid #0d6efd;
padding:12px 15px;
border-radius:8px;
margin:15px 0;
font-size:14px;
}

/* Code style */
.code-box{
background:#111;
color:#0f0;
padding:12px;
border-radius:8px;
font-family:monospace;
font-size:14px;
margin:15px 0;
}

/* ================= MOBILE ================= */

@media(max-width:768px){

.tool-content{
margin:30px auto;
}

.tool-content h2{
font-size:20px;
}

.tool-content h3{
font-size:16px;
}

.tool-content p,
.tool-content li{
font-size:14px;
}

}