*{

box-sizing:border-box;

margin:0;

padding:0;

font-family:'Poppins',sans-serif;

}



body{

background:#050a19;

color:white;

min-height:100vh;

}





/* HEADER */


header{

display:flex;

justify-content:space-between;

align-items:center;

padding:15px 5%;

background:#081326;

position:sticky;

top:0;

z-index:1000;

}

header b{
font-size:24px;
color:#00f7ff;1
}

.logo{

display:flex;

align-items:center;

gap:10px;

font-size:22px;

}



.logo img{

width:45px;

height:45px;

object-fit:contain;

}





nav{

display:flex;

gap:15px;

flex-wrap:wrap;

}



nav a{

color:white;

text-decoration:none;

font-size:14px;

padding:8px 12px;

border-radius:8px;

}



nav a:hover{

background:#00aaff;

}





/* HERO */


.hero{

text-align:center;

padding:60px 20px;

background:

linear-gradient(

135deg,

#07142d,

#003b6f

);

}



.hero h1{

font-size:40px;

}



.hero h2{

font-size:22px;

margin-top:10px;

}


.intro{
    display: flex;
    flex-direction: column;
    align-items: center;
}

.intro p{
    text-align: center;
}
.intro h2{
    text-align: center;
}


/* ==========================
   LOGIN PAGE
========================== */


.login-page{

width:100%;

min-height:20vh;

display:flex;

justify-content:center;

align-items:center;

padding:20px;

background:

linear-gradient(
135deg,
#050a19,
#003b6f
);

}



.login-card{


width:100%;

max-width:420px;

background:

rgba(255,255,255,0.08);


backdrop-filter:blur(15px);


border:

1px solid rgba(255,255,255,0.1);


border-radius:20px;


padding:30px;


text-align:center;


box-shadow:

0 10px 40px rgba(0,0,0,.45);


}



.login-card img{


width:80px;

height:80px;

object-fit:contain;

margin-bottom:15px;


}



.login-card h1{


font-size:28px;

color:#00f7ff;

margin-bottom:8px;


}



.login-card p{


color:#bbb;

font-size:14px;

margin-bottom:20px;


}



#loginStatus{


margin-top:15px;

color:#ff8080;

font-size:14px;


}






/* ==========================
   MAIN PORTAL
========================== */


#portalPage{


width:100%;

max-width:1600px;

margin:auto;

padding:15px;


}






/* ==========================
   HEADER
========================== */


.header{


display:flex;

justify-content:space-between;

align-items:center;

padding:12px 20px;


background:#081326;


border-radius:15px;


margin-bottom:15px;


position:sticky;

top:0;

z-index:100;


}




.brand{


display:flex;

align-items:center;

gap:10px;


}



.brand img{


width:45px;

height:45px;

object-fit:contain;


}



.brand h2{


font-size:22px;

color:#00f7ff;


}





.admin-info{


display:flex;

align-items:center;

gap:15px;


}



.admin-info button,


.logout-btn{


border:none;

padding:10px 18px;

border-radius:10px;

background:#ff4d4d;

color:white;

font-weight:bold;

cursor:pointer;


}





/* ==========================
   NAVIGATION
========================== */


.navigation{


display:flex;

gap:10px;

flex-wrap:wrap;

margin-bottom:20px;


}



.navigation button{


border:none;

padding:10px 18px;

border-radius:10px;


background:

linear-gradient(
135deg,
#00c3ff,
#0072ff
);


color:white;

font-weight:bold;

cursor:pointer;


transition:.3s;


}



.navigation button:hover{


transform:translateY(-2px);


}






/* ==========================
   DASHBOARD CARDS
========================== */


.dashboard-cards{


display:grid;


grid-template-columns:

repeat(
auto-fit,
minmax(180px,1fr)
);


gap:15px;


margin-bottom:20px;


}



.dashboard-card{


background:

rgba(255,255,255,.07);


border:

1px solid rgba(255,255,255,.08);


border-radius:18px;


padding:18px;


text-align:center;


}



.dashboard-card h3{


font-size:30px;

color:#00ffbf;


}



.dashboard-card p{


font-size:14px;

color:#ccc;


}






/* ==========================
   SECTIONS
========================== */


.portal-section{


background:

rgba(255,255,255,.06);


border-radius:20px;


padding:20px;


margin-bottom:20px;


border:

1px solid rgba(255,255,255,.08);


}



.portal-section h2{


color:#00f7ff;

font-size:24px;

margin-bottom:10px;


}



.section-header p{


color:#aaa;

font-size:14px;


}






/* ==========================
   BUTTON BASE
========================== */


button{


font-family:'Poppins',sans-serif;

cursor:pointer;


}



button:hover{


opacity:.9;


}
/* ==========================================
   LINKTECH IT PORTAL
   CSS PART 12/13
   HELP TOOL + SCHEDULE + MESSAGES
========================================== */



/* ==========================
   HELP TOOL SEARCH
========================== */


.help-search{


display:flex;

gap:10px;

flex-wrap:wrap;

margin-bottom:20px;


}



.help-search input,
.help-search select{


flex:1;


min-width:200px;


padding:12px 15px;


border:none;


outline:none;


border-radius:12px;


background:

rgba(255,255,255,.08);


color:white;


}



.help-search select option{


color:black;


}




.help-search button{


padding:12px 20px;


border:none;


border-radius:12px;


background:

linear-gradient(
135deg,
#00c3ff,
#0072ff
);


color:white;


font-weight:bold;


}







/* ==========================
   REPORT FORM
========================== */


.form-card{


background:

rgba(255,255,255,.05);


padding:20px;


border-radius:18px;


margin-bottom:20px;


}



.form-card label{


display:block;


font-size:13px;


color:#bbb;


margin:10px 0 5px;


}



.form-card input,
.form-card textarea,
.form-card select{


width:100%;


padding:12px;


border:none;


outline:none;


border-radius:12px;


background:

rgba(255,255,255,.08);


color:white;


}



.form-card textarea{


resize:vertical;


}



.form-buttons{


display:flex;


gap:10px;


margin-top:15px;


}



.form-buttons button{


padding:12px 20px;


border:none;


border-radius:12px;


background:

linear-gradient(
135deg,
#00c3ff,
#0072ff
);


color:white;


font-weight:bold;


}







/* ==========================
   HELP REPORT CARDS
========================== */


.help-grid{


display:grid;


grid-template-columns:

repeat(
auto-fit,
minmax(260px,1fr)
);


gap:15px;


}



.help-card{


background:

rgba(255,255,255,.07);


border-radius:18px;


padding:18px;


border:

1px solid rgba(255,255,255,.08);


}



.help-card h3{


color:#00f7ff;


font-size:18px;


margin-bottom:8px;


}



.help-card span{


display:inline-block;


background:#0072ff;


padding:5px 12px;


border-radius:20px;


font-size:12px;


margin-bottom:10px;


}



.help-card p{


color:#ddd;


line-height:1.5;


font-size:14px;


margin-bottom:15px;


}



.help-card small{


color:#999;


display:block;


margin-bottom:15px;


}






/* REPORT BUTTONS */


.help-card button{


padding:8px 14px;


border:none;


border-radius:10px;


color:white;


margin-right:5px;


}



.help-card button:first-of-type{


background:#ff9800;


}



.help-card button:last-of-type{


background:#ff4d4d;


}








/* ==========================
   SCHEDULE SYSTEM
========================== */


.schedule-form{


display:grid;


grid-template-columns:

repeat(
auto-fit,
minmax(220px,1fr)
);


gap:12px;


margin-bottom:20px;


}



.schedule-form input,
.schedule-form select{


padding:12px;


border:none;


border-radius:12px;


background:

rgba(255,255,255,.08);


color:white;


outline:none;


}



.schedule-form button{


padding:12px;


border:none;


border-radius:12px;


background:

linear-gradient(
135deg,
#00c3ff,
#0072ff
);


color:white;


font-weight:bold;


}







/* ==========================
   CALENDAR / SCHEDULE CARD
========================== */


#calendar{


display:grid;


grid-template-columns:

repeat(
auto-fit,
minmax(250px,1fr)
);


gap:15px;


}



.schedule-card{


background:

rgba(255,255,255,.07);


padding:18px;


border-radius:18px;


border:

1px solid rgba(255,255,255,.08);


}



.schedule-card h3{


color:#00ffbf;


margin-bottom:10px;


}



.schedule-card p{


font-size:14px;


color:#ddd;


margin-bottom:5px;


}



.schedule-card button{


padding:8px 12px;


border:none;


border-radius:10px;


margin-top:10px;


color:white;


}



.schedule-card button:first-of-type{


background:#ff9800;


}



.schedule-card button:last-of-type{


background:#ff4d4d;


}







/* ==========================
   MESSAGE INBOX
========================== */


.message-box{


background:

rgba(255,255,255,.05);


padding:18px;


border-radius:18px;


margin-bottom:20px;


}



.message-box input,
.message-box textarea{


width:100%;


padding:12px;


margin-bottom:10px;


border:none;


border-radius:12px;


background:

rgba(255,255,255,.08);


color:white;


outline:none;


}



.message-box button{


padding:12px 20px;


border:none;


border-radius:12px;


background:

linear-gradient(
135deg,
#00c3ff,
#0072ff
);


color:white;


font-weight:bold;


}







.message-card{


background:

rgba(255,255,255,.07);


padding:18px;


border-radius:18px;


margin-bottom:12px;


}



.message-card h3{


color:#00f7ff;


}



.message-card p{


white-space:pre-line;


color:#ddd;


font-size:14px;


}



.message-card button{


background:#ff4d4d;


border:none;


padding:8px 14px;


border-radius:10px;


color:white;


margin-top:10px;


}

/* ==========================================
   LINKTECH IT PORTAL
   CSS PART 13/13
   AI CHAT + RESPONSIVE + FINAL CLEANUP
========================================== */



/* ==========================
   AI HELP CHAT
========================== */


.chat-container{


display:flex;


flex-direction:column;


height:500px;


background:

rgba(255,255,255,.05);


border-radius:20px;


padding:15px;


border:

1px solid rgba(255,255,255,.08);


}





#chatMessages{


flex:1;


overflow-y:auto;


padding:10px;


display:flex;


flex-direction:column;


gap:10px;


}







.chat-message{


max-width:80%;


padding:12px 15px;


border-radius:15px;


background:

rgba(0,195,255,.15);


font-size:14px;


line-height:1.5;


}



.chat-message b{


color:#00f7ff;


display:block;


margin-bottom:5px;


}





.chat-input{


display:flex;


gap:10px;


margin-top:10px;


}





.chat-input input{


flex:1;


padding:13px;


border:none;


border-radius:12px;


background:

rgba(255,255,255,.08);


color:white;


outline:none;


}




.chat-input button{


padding:12px 20px;


border:none;


border-radius:12px;


background:

linear-gradient(
135deg,
#00c3ff,
#0072ff
);


color:white;


font-weight:bold;


}







/* ==========================
   FLOATING AI BUTTON
========================== */


.ai-floating-btn{


position:fixed;


right:20px;


bottom:20px;


width:60px;


height:60px;


border-radius:50%;


border:none;


background:

linear-gradient(
135deg,
#00c3ff,
#0072ff
);


color:white;


font-size:25px;


box-shadow:

0 5px 20px rgba(0,0,0,.4);


z-index:999;


}





/* ==========================
   SCROLL BAR
========================== */


::-webkit-scrollbar{


width:8px;


}



::-webkit-scrollbar-track{


background:#081326;


}



::-webkit-scrollbar-thumb{


background:#00c3ff;


border-radius:10px;


}







/* ==========================
   TABLET RESPONSIVE
========================== */


@media(max-width:900px){



.header{


flex-direction:column;


gap:15px;


text-align:center;


}



.admin-info{


width:100%;


justify-content:center;


}



.navigation{


justify-content:center;


}



.help-grid{


grid-template-columns:

repeat(
auto-fit,
minmax(220px,1fr)
);


}



}





/* ==========================
   MOBILE RESPONSIVE
========================== */


@media(max-width:600px){



#portalPage{


padding:10px;


}




.brand h2{


font-size:18px;


}




.portal-section{


padding:15px;


border-radius:15px;


}




.navigation button{


width:100%;


}




.dashboard-cards{


grid-template-columns:

1fr;


}




.help-search{


flex-direction:column;


}




.help-search input,
.help-search select,
.help-search button{


width:100%;


}




.form-buttons{


flex-direction:column;


}




.form-buttons button{


width:100%;


}




.schedule-form{


grid-template-columns:

1fr;


}




.chat-container{


height:400px;


}




.chat-message{


max-width:95%;


}




.chat-input{


flex-direction:column;


}



.chat-input button{


width:100%;


}



}





/* ==========================
   SMALL PHONE
========================== */


@media(max-width:400px){



.login-card{


padding:20px;


}



.login-card h1{


font-size:22px;


}



.header{


padding:10px;


}



.brand img{


width:38px;


height:38px;


}



.portal-section h2{


font-size:20px;


}



.help-card{


padding:15px;


}



}




/* ==========================
   UTILITY
========================== */


.hidden{


display:none!important;


}



.text-center{


text-align:center;


}



.mt-10{


margin-top:10px;


}



.mb-10{


margin-bottom:10px;


}

/* FOOTER */


footer{

text-align:center;

padding:25px;

background:#081326;

margin-top:40px;

color:#aaa;

}








/* ==============================
   MOBILE RESPONSIVE
============================== */


@media(max-width:768px){



header{

flex-direction:column;

gap:15px;

}



nav{

justify-content:center;

}



.hero h1{

font-size:30px;

}



.hero h2{

font-size:18px;

}



.box{

width:95%;

padding:18px;

}



.dashboard-menu button{


width:100%;


}



.timeline-card img{

height:180px;

}



}



/* SMALL PHONE */


@media(max-width:480px){



.logo{

font-size:18px;

}



nav a{

font-size:12px;

padding:6px;

}



.hero{

padding:40px 15px;

}

.temporary{
    text-align: center;
    padding:60px 20px;

}


button{

width:100%;

}



}