:root{
--navy:#071f3b;
--blue:#0d5d8e;
--maroon:#7b1932;
--maroon-2:#a62c4b;
--gold:#d7ad54;
--ink:#18344d;
--muted:#6d7e8f;
--page:#f4f7fa;
--card:#ffffff;
--line:#dce6ed;
--success:#157347;
--warning:#9b6200;
--danger:#b42318;
--shadow:0 18px 48px rgba(7,31,59,.12);
}

*{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
margin:0;
font-family:Inter,Segoe UI,Arial,sans-serif;
color:var(--ink);
background:
radial-gradient(circle at 100% 0,rgba(13,93,142,.10),transparent 32%),
radial-gradient(circle at 0 100%,rgba(123,25,50,.08),transparent 30%),
var(--page);
min-height:100vh;
}

a{color:inherit}

.rkm-shell{
min-height:100vh;
display:grid;
grid-template-columns:minmax(330px,42%) 1fr;
}

.rkm-brand-panel{
position:relative;
overflow:hidden;
padding:48px;
display:flex;
flex-direction:column;
justify-content:space-between;
color:#fff;
background:
linear-gradient(145deg,rgba(7,31,59,.97),rgba(13,93,142,.92)),
var(--navy);
}

.rkm-brand-panel:before,
.rkm-brand-panel:after{
content:"";
position:absolute;
border-radius:50%;
border:1px solid rgba(255,255,255,.15);
}

.rkm-brand-panel:before{
width:390px;height:390px;
right:-170px;top:-120px;
}

.rkm-brand-panel:after{
width:290px;height:290px;
left:-120px;bottom:-90px;
}

.rkm-brand{
position:relative;
z-index:1;
display:flex;
align-items:center;
gap:14px;
}

.rkm-mark{
width:58px;height:58px;
border-radius:18px;
display:grid;
place-items:center;
font-size:1.2rem;
font-weight:900;
letter-spacing:.04em;
color:var(--navy);
background:linear-gradient(145deg,#f9e7ac,var(--gold));
box-shadow:0 12px 28px rgba(0,0,0,.18);
}

.rkm-brand-name{
font-weight:900;
font-size:1.55rem;
letter-spacing:.08em;
}

.rkm-brand-name span{color:#f6d783}

.rkm-brand-small{
margin-top:3px;
color:#d5e8f5;
font-size:.78rem;
letter-spacing:.08em;
text-transform:uppercase;
}

.rkm-hero{
position:relative;
z-index:1;
max-width:600px;
padding:58px 0;
}

.rkm-hero h1{
margin:0 0 17px;
font-size:clamp(2.2rem,5vw,4.7rem);
line-height:.98;
letter-spacing:-.045em;
}

.rkm-hero p{
max-width:520px;
margin:0;
font-size:1.08rem;
line-height:1.8;
color:#dcecf6;
}

.rkm-feature-list{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:12px;
margin-top:28px;
}

.rkm-feature{
padding:13px 14px;
border:1px solid rgba(255,255,255,.14);
border-radius:14px;
background:rgba(255,255,255,.075);
backdrop-filter:blur(8px);
font-size:.9rem;
font-weight:700;
}

.rkm-campus-line{
position:relative;
z-index:1;
padding-top:22px;
border-top:1px solid rgba(255,255,255,.16);
font-size:.82rem;
line-height:1.6;
color:#cfe1ed;
}

.rkm-form-panel{
padding:32px;
display:flex;
align-items:center;
justify-content:center;
}

.rkm-form-card{
width:min(100%,540px);
padding:32px;
border:1px solid var(--line);
border-radius:24px;
background:rgba(255,255,255,.94);
box-shadow:var(--shadow);
}

.rkm-form-card.wide{width:min(100%,760px)}

.rkm-kicker{
margin:0 0 8px;
font-size:.78rem;
font-weight:900;
letter-spacing:.13em;
text-transform:uppercase;
color:var(--maroon);
}

.rkm-title{
margin:0;
font-size:clamp(1.7rem,4vw,2.35rem);
line-height:1.15;
color:var(--navy);
}

.rkm-subtitle{
margin:11px 0 24px;
line-height:1.65;
color:var(--muted);
}

.rkm-field{margin-bottom:17px}

.rkm-field label{
display:block;
margin-bottom:7px;
font-size:.83rem;
font-weight:800;
color:var(--ink);
}

.rkm-input,
.rkm-select{
width:100%;
min-height:49px;
padding:11px 13px;
border:1px solid #cbd9e3;
border-radius:12px;
outline:none;
font:inherit;
color:var(--ink);
background:#fff;
transition:border .2s,box-shadow .2s;
}

.rkm-input:focus,
.rkm-select:focus{
border-color:var(--blue);
box-shadow:0 0 0 4px rgba(13,93,142,.11);
}

.rkm-grid-2{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:14px;
}

.rkm-help{
margin-top:6px;
font-size:.76rem;
line-height:1.5;
color:var(--muted);
}

.rkm-button{
width:100%;
min-height:49px;
border:0;
border-radius:13px;
padding:12px 18px;
font:inherit;
font-weight:900;
cursor:pointer;
color:#fff;
background:linear-gradient(135deg,var(--maroon),var(--maroon-2));
box-shadow:0 11px 25px rgba(123,25,50,.24);
transition:transform .18s,box-shadow .18s;
}

.rkm-button:hover{
transform:translateY(-1px);
box-shadow:0 14px 30px rgba(123,25,50,.3);
}

.rkm-button.secondary{
color:var(--navy);
background:#edf3f7;
box-shadow:none;
}

.rkm-links{
display:flex;
align-items:center;
justify-content:space-between;
gap:14px;
margin-top:18px;
font-size:.86rem;
}

.rkm-links a{
font-weight:800;
color:var(--blue);
text-decoration:none;
}

.rkm-alert{
margin-bottom:18px;
padding:13px 15px;
border-radius:13px;
font-size:.87rem;
line-height:1.55;
border:1px solid transparent;
}

.rkm-alert.success{
color:#0d5d3c;
background:#ecf8f2;
border-color:#b9e2ce;
}

.rkm-alert.warning{
color:#775000;
background:#fff8e8;
border-color:#efd59b;
}

.rkm-alert.danger{
color:#8f1e18;
background:#fff1f0;
border-color:#efc0bc;
}

.rkm-alert.info{
color:#0b5279;
background:#edf8ff;
border-color:#bddff3;
}

.rkm-errors{
margin:0;
padding-left:19px;
}

.rkm-checkbox{
display:flex;
gap:10px;
align-items:flex-start;
font-size:.8rem;
line-height:1.55;
color:var(--muted);
}

.rkm-checkbox input{margin-top:3px}

.rkm-page{
min-height:100vh;
background:var(--page);
}

.rkm-topbar{
position:sticky;
top:0;
z-index:100;
color:#fff;
background:linear-gradient(100deg,var(--navy),#0a456c);
box-shadow:0 7px 25px rgba(7,31,59,.18);
}

.rkm-topbar-inner{
width:min(1180px,calc(100% - 32px));
min-height:72px;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
}

.rkm-topbar .rkm-brand-name{font-size:1.15rem}
.rkm-topbar .rkm-mark{
width:43px;height:43px;
border-radius:13px;
font-size:.9rem;
}

.rkm-nav{
display:flex;
align-items:center;
gap:8px;
}

.rkm-nav a{
padding:9px 12px;
border-radius:10px;
font-size:.82rem;
font-weight:800;
text-decoration:none;
color:#e7f2f9;
}

.rkm-nav a:hover{background:rgba(255,255,255,.1)}

.rkm-main{
width:min(1180px,calc(100% - 32px));
margin:auto;
padding:30px 0 50px;
}

.rkm-welcome{
position:relative;
overflow:hidden;
padding:28px;
border-radius:22px;
color:#fff;
background:
linear-gradient(135deg,rgba(7,31,59,.97),rgba(123,25,50,.92));
box-shadow:var(--shadow);
}

.rkm-welcome:after{
content:"";
position:absolute;
width:230px;height:230px;
right:-75px;top:-90px;
border:42px solid rgba(255,255,255,.06);
border-radius:50%;
}

.rkm-welcome small{
display:block;
margin-bottom:7px;
font-weight:900;
letter-spacing:.1em;
text-transform:uppercase;
color:#f5d78b;
}

.rkm-welcome h1{
position:relative;
z-index:1;
margin:0;
font-size:clamp(1.7rem,4vw,2.7rem);
}

.rkm-welcome p{
position:relative;
z-index:1;
max-width:680px;
margin:10px 0 0;
color:#e6edf3;
line-height:1.65;
}

.rkm-stats{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:15px;
margin-top:18px;
}

.rkm-stat{
padding:18px;
border:1px solid var(--line);
border-radius:17px;
background:#fff;
box-shadow:0 9px 24px rgba(7,31,59,.06);
}

.rkm-stat .number{
font-size:1.55rem;
font-weight:950;
color:var(--navy);
}

.rkm-stat .label{
margin-top:4px;
font-size:.78rem;
font-weight:700;
color:var(--muted);
}

.rkm-section-title{
display:flex;
justify-content:space-between;
align-items:end;
gap:16px;
margin:28px 0 14px;
}

.rkm-section-title h2{
margin:0;
font-size:1.25rem;
color:var(--navy);
}

.rkm-section-title p{
margin:4px 0 0;
font-size:.84rem;
color:var(--muted);
}

.rkm-cards{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:15px;
}

.rkm-card{
position:relative;
min-height:178px;
padding:20px;
border:1px solid var(--line);
border-radius:18px;
background:#fff;
box-shadow:0 9px 25px rgba(7,31,59,.06);
}

.rkm-card .icon{
width:44px;height:44px;
display:grid;
place-items:center;
border-radius:13px;
font-size:1.1rem;
font-weight:900;
color:#fff;
background:linear-gradient(135deg,var(--blue),var(--navy));
}

.rkm-card h3{
margin:15px 0 6px;
font-size:1rem;
color:var(--navy);
}

.rkm-card p{
margin:0;
font-size:.82rem;
line-height:1.55;
color:var(--muted);
}

.rkm-card a.stretched{
position:absolute;
inset:0;
border-radius:18px;
}

.rkm-badge{
display:inline-flex;
align-items:center;
padding:5px 9px;
border-radius:999px;
font-size:.69rem;
font-weight:900;
letter-spacing:.04em;
text-transform:uppercase;
}

.rkm-badge.active{
color:#0c6946;
background:#e6f6ee;
}

.rkm-badge.pending{
color:#8a5a00;
background:#fff3d7;
}

.rkm-badge.blocked{
color:#9a2420;
background:#ffe7e5;
}

.rkm-badge.soon{
color:#526a7c;
background:#edf2f5;
}

.rkm-profile-grid{
display:grid;
grid-template-columns:320px 1fr;
gap:18px;
}

.rkm-profile-card,
.rkm-panel{
padding:22px;
border:1px solid var(--line);
border-radius:19px;
background:#fff;
box-shadow:0 9px 25px rgba(7,31,59,.06);
}

.rkm-avatar{
width:88px;height:88px;
margin-bottom:14px;
display:grid;
place-items:center;
border-radius:24px;
font-size:2rem;
font-weight:950;
color:#fff;
background:linear-gradient(135deg,var(--maroon),var(--navy));
}

.rkm-profile-card h2{
margin:0 0 5px;
font-size:1.2rem;
color:var(--navy);
}

.rkm-profile-card p{
margin:0;
color:var(--muted);
font-size:.84rem;
line-height:1.5;
}

.rkm-detail-list{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:12px;
margin-top:19px;
}

.rkm-detail{
padding:12px;
border-radius:12px;
background:#f5f8fa;
}

.rkm-detail .label{
font-size:.69rem;
font-weight:900;
letter-spacing:.05em;
text-transform:uppercase;
color:var(--muted);
}

.rkm-detail .value{
margin-top:5px;
font-size:.86rem;
font-weight:800;
color:var(--ink);
word-break:break-word;
}

.rkm-table-wrap{
overflow:auto;
border:1px solid var(--line);
border-radius:16px;
background:#fff;
}

.rkm-table{
width:100%;
border-collapse:collapse;
font-size:.82rem;
}

.rkm-table th,
.rkm-table td{
padding:12px;
border-bottom:1px solid #e5edf2;
text-align:left;
vertical-align:top;
white-space:nowrap;
}

.rkm-table th{
position:sticky;
top:0;
z-index:1;
color:#fff;
background:var(--navy);
font-size:.72rem;
letter-spacing:.04em;
text-transform:uppercase;
}

.rkm-table tr:last-child td{border-bottom:0}

.rkm-actions{
display:flex;
gap:7px;
flex-wrap:wrap;
}

.rkm-small-button{
border:0;
border-radius:9px;
padding:7px 10px;
font:inherit;
font-size:.72rem;
font-weight:900;
cursor:pointer;
color:#fff;
background:var(--blue);
}

.rkm-small-button.approve{background:var(--success)}
.rkm-small-button.block{background:var(--danger)}
.rkm-small-button.reset{background:var(--warning)}
.rkm-small-button.delete{background:#5f6871}

.rkm-filter{
display:grid;
grid-template-columns:1fr 230px auto;
gap:10px;
margin-bottom:14px;
padding:15px;
border:1px solid var(--line);
border-radius:16px;
background:#fff;
}

.rkm-filter .rkm-button{
width:auto;
min-width:120px;
}

.rkm-footer{
padding:22px 16px;
text-align:center;
font-size:.77rem;
color:var(--muted);
}

@media(max-width:980px){
.rkm-shell{grid-template-columns:1fr}
.rkm-brand-panel{min-height:420px;padding:34px}
.rkm-hero{padding:42px 0 22px}
.rkm-form-panel{padding:24px}
.rkm-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.rkm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.rkm-profile-grid{grid-template-columns:1fr}
}

@media(max-width:650px){
.rkm-brand-panel{padding:24px}
.rkm-form-panel{padding:16px}
.rkm-form-card{padding:23px;border-radius:19px}
.rkm-grid-2{grid-template-columns:1fr}
.rkm-feature-list{grid-template-columns:1fr}
.rkm-topbar-inner{min-height:64px}
.rkm-nav a:not(.always){display:none}
.rkm-main{width:min(100% - 22px,1180px);padding-top:18px}
.rkm-welcome{padding:22px}
.rkm-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rkm-cards{grid-template-columns:1fr}
.rkm-detail-list{grid-template-columns:1fr}
.rkm-filter{grid-template-columns:1fr}
.rkm-filter .rkm-button{width:100%}
.rkm-links{align-items:flex-start;flex-direction:column}
}
