:root{

    --primary:#221e45;
    --primary-light:#332b64;
    --accent:#fc7a69;

    --bg:#f8fafc;
    --card:#ffffff;

    --text:#111827;
    --text-light:#6b7280;

    --border:#e5e7eb;

    --success:#22c55e;
    --warning:#f59e0b;
    --danger:#ef4444;

    --radius:18px;

}

/*==============Base=================================*/

body{

    background:var(--bg);

    color:var(--text);

    font-family:
    Inter,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

}

.tc-dashboard-wrapper,
.tc-registration-wrapper,
.tc-editor-wrapper{

    max-width:1280px;

    margin:auto;

    padding:50px 20px;

}

/*==========Hero====================================*/

.tc-dashboard-header{

    background:linear-gradient(
    135deg,
    var(--primary),
    var(--primary-light)
    );

    color:#fff;

    border-radius:24px;

    padding:50px;

    margin-bottom:35px;

    box-shadow:
    0 20px 50px rgba(34,30,69,.12);

}

.tc-dashboard-header h1{

    font-size:42px;

    margin:0;

    font-weight:700;

}

.tc-dashboard-header p{

    margin-top:10px;

    color:rgba(255,255,255,.85);

    font-size:18px;

}

/*==================Stats============================*/

.tc-stats{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(220px,1fr));

    gap:20px;

    margin-top:35px;

}

.tc-stat-card{

    background:#fff;

    border-radius:20px;

    padding:28px;

    border:1px solid var(--border);

    transition:.35s;

    text-align:center;

}

.tc-stat-card:hover{

    transform:translateY(-6px);

    box-shadow:
    0 20px 45px rgba(0,0,0,.08);

}

.tc-stat-card h2{

    font-size:42px;

    margin:10px 0;

    color:var(--primary);

}

.tc-stat-card p{

    color:var(--text-light);

    margin:0;

}

/*=======Contest Card===============================*/

.tc-dashboard-card{

    background:#fff;

    border-radius:22px;

    border:1px solid var(--border);

    margin-bottom:35px;

    overflow:hidden;

    box-shadow:
    0 10px 35px rgba(0,0,0,.05);

}

.tc-dashboard-card:hover{

    box-shadow:
    0 20px 55px rgba(0,0,0,.08);

}

.tc-card-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:30px;

    border-bottom:1px solid var(--border);

}

.tc-card-header h2{

    margin:0;

    font-size:26px;

}

.tc-card-header p{

    color:var(--text-light);

    margin-top:8px;

}

/*========Status====================================*/

.tc-status{

    display:inline-flex;

    align-items:center;

    padding:7px 16px;

    border-radius:999px;

    font-size:13px;

    font-weight:600;

}

.tc-status.published{

    background:#dcfce7;

    color:#15803d;

}

.tc-status.completed{

    background:#dbeafe;

    color:#2563eb;

}

.tc-status.draft{

    background:#fef3c7;

    color:#b45309;

}

.tc-status.reviewed{

    background:#dbeafe;

    color:#2563eb;

}

.tc-status.submitted{

    background:#dcfce7;

    color:#15803d;

}

/*===========Table==================================*/

.tc-dashboard-table{

    width:100%;

    border-collapse:collapse;

}

.tc-dashboard-table thead{

    background:#f9fafb;

}

.tc-dashboard-table th{

    padding:18px;

    text-align:left;

    font-weight:600;

    color:#374151;

}

.tc-dashboard-table td{

    padding:18px;

    border-top:1px solid var(--border);

}

.tc-dashboard-table tr{

    transition:.25s;

}

.tc-dashboard-table tr:hover{

    background:#fafafa;

}

/*=======Buttons=====================================*/

.button,
button{

    border:none;

    border-radius:12px;

    padding:12px 24px;

    cursor:pointer;

    transition:.3s;

    font-weight:600;

}

.button-primary{

    background:var(--accent)!important;

    color:#fff!important;

}

.button-primary:hover{

    background:#f45f49!important;

    transform:translateY(-2px);

}

.button-secondary{

    background:#f3f4f6!important;

    color:#111827!important;

}

.button-secondary:hover{

    background:#e5e7eb!important;

}

/*===========Inputs==================================*/

input,
textarea,
select{

    width:100%;

    padding:14px 18px;

    border-radius:12px;

    border:1px solid var(--border);

    font-size:15px;

    transition:.3s;

    background:#fff;

}

input:focus,
textarea:focus,
select:focus{

    outline:none;

    border-color:var(--accent);

    box-shadow:
    0 0 0 4px rgba(252,122,105,.15);

}

/*=====Cards====================================*/

.tc-card{

    background:#fff;

    border-radius:20px;

    padding:30px;

    border:1px solid var(--border);

    box-shadow:
    0 10px 40px rgba(0,0,0,.05);

}

/*=====Alerts=====================================*/

.tc-alert{

    padding:18px 22px;

    border-radius:14px;

    margin:20px 0;

}

.tc-alert-success{

    background:#dcfce7;

    color:#166534;

}

.tc-alert-warning{

    background:#fef3c7;

    color:#92400e;

}

.tc-alert-error{

    background:#fee2e2;

    color:#991b1b;

}

/*===================Registration====================*/

.tc-registration-card{

    width:100%;

    max-width:520px;

    margin:auto;

    background:#fff;

    padding:45px;

    border-radius:24px;

    box-shadow:
    0 20px 50px rgba(0,0,0,.07);

}

.tc-logo{

    text-align:center;

    margin-bottom:30px;

}

.tc-logo h1{

    color:var(--primary);

    margin:0;

    font-size:38px;

}

.tc-form-group{

    margin-bottom:24px;

}

.tc-form-group label{

    display:block;

    margin-bottom:10px;

    font-weight:600;

}

/*==================Editor===========================*/

.tc-editor-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;

    gap:30px;

    flex-wrap:wrap;

}

.tc-editor-topic-description{

    background:#fff;

    border-radius:18px;

    padding:25px;

    margin-bottom:25px;

    border-left:5px solid var(--accent);

}

.tc-timer-box{

    background:#fff;

    border-radius:18px;

    padding:20px;

    min-width:220px;

    text-align:center;

    box-shadow:
    0 10px 30px rgba(0,0,0,.05);

}

#tc-countdown{

    font-size:34px;

    font-weight:700;

    color:var(--danger);

}

.tc-editor-body{

    background:#fff;

    border-radius:22px;

    padding:30px;

    box-shadow:
    0 10px 35px rgba(0,0,0,.05);

}

.tc-editor-actions{

    display:flex;

    justify-content:flex-end;

    gap:15px;

    margin-top:25px;

}

.tc-save-status{

    color:var(--success);

    font-weight:600;

    margin:15px 0;

}

/*==================Animation========================================*/

.tc-card,
.tc-dashboard-card,
.tc-stat-card{

    transition:.35s;

}

.tc-card:hover,
.tc-dashboard-card:hover{

    transform:translateY(-4px);

}

/*============ Responsive ========================*/

@media(max-width:992px){

.tc-dashboard-header{

padding:35px;

}

.tc-dashboard-header h1{

font-size:34px;

}

.tc-card-header{

flex-direction:column;

align-items:flex-start;

gap:15px;

}

}

@media(max-width:768px){

.tc-dashboard-table{

display:block;

overflow-x:auto;

}

.tc-registration-card{

padding:30px;

}

.tc-editor-header{

flex-direction:column;

align-items:flex-start;

}

.tc-editor-actions{

flex-direction:column;

}

.button{

width:100%;

}

}

@media(max-width:480px){

.tc-dashboard-header h1{

font-size:28px;

}

.tc-logo h1{

font-size:30px;

}

}