:root {
    --navy:#05243a;
    --navy-dark:#021522;
    --blue:#096a8c;
    --cyan:#18a8b8;
    --gold:#f3b839;
    --gold-light:#ffe59b;
    --cream:#fffaf0;
    --white:#fff;
    --text:#173042;
    --muted:#667887;
    --green:#16855e;
    --red:#c83c4f;
    --purple:#7252a8;
    --border:#e5d5aa;
    --shadow:0 12px 32px rgba(4,36,58,.13);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;font-family:"Segoe UI",Arial,"Noto Sans Tamil",sans-serif;color:var(--text);background:linear-gradient(145deg,#edf9fb 0%,#fff9e8 48%,#f5f1ff 100%)}
a{text-decoration:none;color:inherit}

.swaram-header{position:relative;overflow:hidden;padding:8px 12px 10px;color:#fff;background:linear-gradient(120deg,var(--navy-dark),var(--blue) 58%,#0a8291);border-bottom:4px solid var(--gold);box-shadow:0 8px 28px rgba(0,0,0,.23)}
.swaram-header::before,.swaram-header::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.06)}
.swaram-header::before{width:240px;height:240px;right:-80px;top:-130px}
.swaram-header::after{width:160px;height:160px;left:-70px;bottom:-110px}
.swaram-banner-wrap{position:relative;z-index:1;width:min(900px,100%);margin:auto;padding:3px;border:1px solid #f8d36f;border-radius:16px;background:linear-gradient(135deg,#a36a08,#ffe99d,#b7770a);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.swaram-banner{display:block;width:100%;height:auto;border-radius:19px}
.header-credit{position:relative;z-index:2;width:min(520px,92%);min-height:52px;margin:7px auto 0;padding:7px 18px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;border:1px solid rgba(255,220,117,.8);border-radius:14px;background:linear-gradient(135deg,rgba(2,25,39,.96),rgba(7,92,111,.96));box-shadow:0 7px 18px rgba(0,0,0,.25)}
.header-credit strong,.header-credit span{display:block}.header-credit strong{color:var(--gold-light);font:800 clamp(17px,3vw,23px) Georgia,serif;letter-spacing:.5px}.header-credit span{margin-top:3px;color:#e4fbff;font-size:13px;font-weight:600;letter-spacing:.5px}

.container{width:min(1080px,94%);margin:22px auto 36px}
.card{width:100%;margin-bottom:18px;padding:20px;overflow:hidden;border:1px solid rgba(218,190,116,.62);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}
.compact-card{padding:17px}
.section-title{margin:0 0 20px;padding-left:12px;color:var(--navy);font:800 clamp(22px,4vw,30px) Georgia,serif;border-left:5px solid var(--gold)}
.section-title.centered{padding:0;text-align:center;border:0}

.swaram-welcome{position:relative;padding:48px 24px;margin-bottom:24px;overflow:hidden;text-align:center;color:#fff;border-radius:25px;background:linear-gradient(135deg,#052b42,#08768b 55%,#4f3b82);box-shadow:0 18px 45px rgba(4,36,58,.24)}
.swaram-welcome::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(255,222,118,.28),transparent 25%),radial-gradient(circle at 85% 75%,rgba(255,255,255,.16),transparent 22%)}
.welcome-content{position:relative}.event-badge{display:inline-block;padding:8px 18px;border-radius:999px;color:#4a3100;font-weight:900;letter-spacing:1px;background:linear-gradient(90deg,#e3a623,#ffe9a5,#e6aa28)}
.swaram-welcome h1{margin:17px 0 8px;font:800 clamp(30px,6vw,54px) Georgia,serif}.swaram-welcome h1 span{display:block;color:var(--gold-light)}
.swaram-welcome p{line-height:1.7}.score-summary{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:24px}.score-part{min-width:125px;padding:13px;border-radius:15px;color:var(--text);background:#fff8df;border:1px solid #e0b64e}.score-part strong,.score-part span{display:block}.score-part strong{font-size:28px;color:#815600}.score-part span{font-size:13px;font-weight:700}.score-plus{font-size:27px;font-weight:900;color:var(--gold-light)}.final-score{background:linear-gradient(135deg,#f0b630,#ffe69c)}

.portal-grid,.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.portal-card,.menu-card{display:block;min-height:130px;padding:20px;border-radius:17px;color:#fff;box-shadow:var(--shadow);transition:.2s transform,.2s box-shadow}.portal-card{min-height:200px}.portal-card:hover,.menu-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(4,36,58,.2)}.portal-icon{font-size:38px}.portal-card h2,.menu-card h2{margin:8px 0}.institution-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px}.institution-card{min-height:94px;padding:12px}.institution-card h3{margin:0 0 6px;font-size:14px;line-height:1.3}.institution-card p{margin:3px 0;font-size:12px}.performance-title{margin:5px 0;padding:5px 7px;color:#123747;background:rgba(255,255,255,.72);border-radius:7px;font-size:12px;font-weight:800;line-height:1.3}.score-college-card{padding:12px 15px;margin-bottom:14px}.score-college-card h2{margin:0;font-size:18px}.score-performance-title{margin-top:6px;color:#775000;font-weight:800}.judge-card,.blue{background:linear-gradient(135deg,#07344f,#0a8093)}.organiser-card,.orange{color:#432d00;background:linear-gradient(135deg,#e6a921,#ffe598)}.green{background:linear-gradient(135deg,#116346,#20a475)}.purple{background:linear-gradient(135deg,#563b82,#8b6bc1)}.red{background:linear-gradient(135deg,#923642,#df5d6d)}

.navbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:9px;margin-bottom:18px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:0;border-radius:12px;font:800 14px inherit;cursor:pointer;transition:.15s transform,.15s filter}.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--navy),var(--blue))}.btn-orange{color:#432d00;background:linear-gradient(135deg,#e4a720,#ffe394)}.btn-green{color:#fff;background:linear-gradient(135deg,#0f6848,#20a473)}.btn-light{color:var(--navy);background:#fff8e7;border:1px solid #e0cd98}.btn-block{width:100%}.btn-save{min-width:180px;min-height:54px;font-size:16px}.btn-small{min-height:34px;padding:6px 11px;font-size:12px}

.login-card{max-width:500px;margin:18px auto 28px}.login-icon{text-align:center;font-size:48px}.form-help{margin:-8px 0 18px;text-align:center;color:var(--muted)}.default-pin-note{margin:-3px 0 14px;padding:8px 10px;text-align:center;color:#6c4a00;background:#fff4cb;border:1px solid #e7ce79;border-radius:9px;font-size:13px}.form-group{margin-bottom:15px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.check-label{display:flex;align-items:center;gap:8px;margin:0 0 15px}.check-label input{width:19px;min-height:19px;margin:0}label{display:block;margin-bottom:7px;color:var(--navy);font-weight:800}input,select,textarea{display:block;width:100%;min-height:46px;padding:10px 12px;color:var(--text);background:#fffefa;border:1px solid #ccb978;border-radius:11px;font:15px inherit;outline:0}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(24,168,184,.14)}

.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}th{padding:10px 8px;color:var(--gold-light);text-align:center;background:linear-gradient(180deg,#07536c,var(--navy));border-bottom:1px solid #16495a;font-size:13px}th:first-child{border-radius:12px 0 0 0}th:last-child{border-radius:0 12px 0 0}td{padding:9px 8px;border-bottom:1px solid #eee6d1;font-size:14px}tbody tr:nth-child(even){background:#fffcf5}tbody tr:hover{background:#f0fbfc}.score-input{width:98px;min-height:42px;margin:auto;padding:7px;text-align:center;font-size:17px;font-weight:900}.score-input.invalid-score{border-color:var(--red);background:#fff0f2}.max-badge{display:inline-flex;min-width:62px;justify-content:center;padding:5px 8px;border-radius:999px;color:#684600;font-weight:900;background:#fff0bd}.mobile-tip{display:none;margin-bottom:10px;padding:8px;border-radius:9px;color:#07536c;background:#e7fafd;font-size:12px;font-weight:700}.score-action{position:sticky;bottom:6px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:10px 13px;border:1px solid #dbc273;border-radius:14px;background:rgba(255,250,229,.96);box-shadow:0 8px 25px rgba(4,36,58,.16);backdrop-filter:blur(8px)}.live-total span,.live-total strong{display:block}.live-total>span{font-size:11px;color:var(--muted);font-weight:700}.live-total strong{font-size:21px;color:var(--navy)}

.confirm-overlay[hidden]{display:none}.confirm-overlay{position:fixed;z-index:9999;inset:0;display:grid;place-items:center;padding:18px;background:rgba(1,18,29,.72);backdrop-filter:blur(5px)}.confirm-box{width:min(410px,100%);padding:24px;text-align:center;border:2px solid var(--gold);border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.38);animation:confirmIn .18s ease-out}.confirm-symbol{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 12px;border-radius:50%;color:#4b3300;background:linear-gradient(135deg,var(--gold),var(--gold-light));font-size:34px;font-weight:900}.confirm-box h2{margin:0 0 9px;color:var(--navy);font:800 23px Georgia,serif}.confirm-box p{margin:0 0 14px;color:var(--muted);line-height:1.5}.confirm-total{margin-bottom:18px;padding:10px;border-radius:10px;color:var(--navy);background:#eefbfc;font-size:17px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.confirm-actions .btn{width:100%}.modal-open{overflow:hidden}@keyframes confirmIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}

.report-card{max-width:100%}.report-table{min-width:1120px}.report-table th,.report-table td{text-align:center;white-space:nowrap}.report-table th:nth-child(2),.report-table td:nth-child(2){min-width:220px;text-align:left;white-space:normal}.report-table th small{display:block;max-width:95px;margin:4px auto 0;color:#fff;font-size:9px;line-height:1.15}.report-performance{display:block;margin-top:5px;color:#7a5200;font-weight:700}.rank-badge{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#08768b,#563b82);font-weight:900}

.alert{padding:13px 16px;margin-bottom:18px;border-radius:12px;font-weight:700}.alert-success{color:#0a6842;background:#e7f8ef;border:1px solid #a9dfc1}.alert-error{color:#a12639;background:#ffebee;border:1px solid #f0b9c1}.alert-warning{color:#7b5600;background:#fff4c9;border:1px solid #ead07a}.footer{padding:28px 15px;text-align:center;color:#f6dfa0;line-height:1.6;background:linear-gradient(180deg,#073a52,var(--navy-dark));border-top:3px solid var(--gold)}

@media(max-width:760px){
    .swaram-header{padding:4px 4px 7px}.swaram-banner-wrap{width:min(640px,100%);padding:2px;border-radius:10px}.swaram-banner{border-radius:8px}.header-credit{width:92%;min-height:42px;margin:5px auto 0;padding:5px 9px;border-radius:10px;text-align:center}.header-credit strong{font-size:13px}.header-credit span{font-size:9px}
    .container{width:96%;margin-top:14px}.card{padding:14px;border-radius:14px}.swaram-welcome{padding:28px 12px;border-radius:16px}.swaram-welcome h1{font-size:26px}.score-part{min-width:84px;padding:9px 6px}.score-part strong{font-size:21px}.score-part span{font-size:10px}.score-plus{font-size:17px}.portal-grid,.grid{grid-template-columns:1fr}.portal-card,.menu-card{min-height:auto;padding:17px}.institution-grid{gap:8px}.institution-card{min-height:74px;padding:9px 11px;border-radius:12px}.institution-card h3{margin-bottom:4px;font-size:13px}.institution-card p{display:inline-block;margin:2px 8px 0 0;font-size:11px}.performance-title{margin:4px 0;padding:4px 6px;font-size:11px}.score-college-card{padding:9px 11px}.score-college-card h2{font-size:15px}.score-performance-title{font-size:12px}.admin-form-grid{grid-template-columns:1fr;gap:0}
    .navbar{display:grid;grid-template-columns:1fr 1fr}.navbar span{grid-column:1/-1;text-align:center}.navbar .btn{width:100%;padding:9px 7px;font-size:12px}
    .mobile-tip{display:block}.score-table thead{display:none}.score-table,.score-table tbody,.score-table tr,.score-table td{display:block;width:100%}.score-table tr{margin-bottom:10px;padding:9px;border:1px solid #dfcd94;border-radius:12px;background:#fff!important;box-shadow:0 4px 12px rgba(4,36,58,.07)}.score-table td{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:43px;padding:6px 2px;border-bottom:1px solid #eee7d4}.score-table td::before{content:attr(data-label);flex:0 0 40%;color:var(--navy);font-size:12px;font-weight:900}.score-table td:first-child{display:block;margin-bottom:3px;padding:8px;color:var(--navy);background:#eaf9fb;border:0;border-radius:8px;font-size:14px;font-weight:900;line-height:1.4}.score-table td:first-child::before{display:none}.score-table td:last-child{border:0}.score-input{width:112px;min-height:40px;margin:0;font-size:18px}.score-action{bottom:4px;padding:8px}.live-total strong{font-size:18px}.btn-save{min-width:140px;min-height:45px;padding:8px;font-size:13px}.confirm-box{padding:20px}.confirm-box h2{font-size:20px}
    table:not(.score-table){min-width:650px}.card>table:not(.score-table){display:block;overflow-x:auto}
}

@media(max-width:420px){.navbar{grid-template-columns:1fr}.navbar span{grid-column:auto}.score-plus{display:none}.score-action{align-items:stretch;flex-direction:column}.live-total{text-align:center}.btn-save{width:100%}}

@page{size:A4 landscape;margin:7mm}
@media print{html,body{width:100%;background:#fff}.swaram-header,.navbar,.btn,.mobile-tip,.footer,.report-card form{display:none!important}.container{width:100%;max-width:none;margin:0}.card{margin:0;padding:5px;overflow:visible;box-shadow:none;border:0}.report-card .section-title{margin:0 0 6px;padding:0;text-align:center;border:0;font-size:16px}.report-card>br{display:none}.table-wrap{overflow:visible}.report-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}.report-table th,.report-table td{padding:3px 2px;border:1px solid #777;font-size:7.5px;line-height:1.15;white-space:normal;overflow-wrap:anywhere}.report-table th:nth-child(1),.report-table td:nth-child(1){width:4%}.report-table th:nth-child(2),.report-table td:nth-child(2){width:24%;min-width:0}.report-table th:nth-child(n+3):nth-child(-n+8),.report-table td:nth-child(n+3):nth-child(-n+8){width:7%}.report-table th:nth-child(9),.report-table td:nth-child(9){width:7%}.report-table th:nth-child(10),.report-table td:nth-child(10){width:7%}.report-table th:nth-child(11),.report-table td:nth-child(11){width:7%}.report-table th:nth-child(12),.report-table td:nth-child(12){width:5%}.report-table th small{max-width:none;margin-top:2px;font-size:6px}.report-performance{margin-top:2px;font-size:6.5px}.rank-badge{width:auto;height:auto;color:#000;background:none}.score-action{position:static;box-shadow:none}}
