/* style.css (v7) */
*{box-sizing:border-box;}
body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: #eef1f8;
    margin: 0;
    color: #1a1a1a;
    line-height:1.5;
}
.header {
    background:#0a0a2a;
    color:#fff;
    padding:24px 20px;
    text-align:center;
    border-bottom:4px solid #1e90ff;
    position:relative;
    overflow:hidden;
}
.header.has-cover{
    padding-top:80px;
}
.header-cover{
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
    opacity:0.25;
}
.header-inner{
    position:relative;
    z-index:2;
}
.container {
    max-width: 1000px;
    background:#fff;
    margin:30px auto;
    padding:24px;
    border-radius:16px;
    box-shadow:0 24px 50px rgba(0,0,0,.08);
    border:1px solid #eee;
}
h1,h2,h3,h4 {
    margin-top:0;
    color:#0a0a2a;
}
label {
    display:block;
    font-weight:600;
    margin-bottom:6px;
}
input[type=text],
input[type=email],
textarea,
select,
input[type=tel],
input[type=password],
input[type=number] {
    width:100%;
    padding:12px 14px;
    border:1px solid #cfd3dc;
    border-radius:10px;
    font-size:15px;
    outline:none;
    background:#fafafa;
}
input:focus, textarea:focus, select:focus {
    border-color:#1e90ff;
    background:#fff;
}
button,
.btn {
    background:#1e90ff;
    color:#fff;
    border:none;
    padding:12px 18px;
    border-radius:10px;
    font-size:15px;
    font-weight:600;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:6px;
    box-shadow:0 10px 20px rgba(30,144,255,.3);
}
button:hover,
.btn:hover {
    background:#006fe6;
}
.btn-dark{
    background:#2f323a;
    box-shadow:0 10px 20px rgba(0,0,0,.4);
}
.btn-dark:hover{
    background:#1b1d22;
}
.btn-danger{
    background:#ff4757;
    box-shadow:0 10px 20px rgba(255,71,87,.4);
}
.btn-danger:hover{
    background:#d81e2b;
}
.rules-box {
    background:#0a0a2a;
    color:#fff;
    padding:20px;
    border-radius:14px;
    line-height:1.6;
    box-shadow:0 16px 30px rgba(0,0,0,.4);
}
.rules-box h2 {
    color:#1e90ff;
}
.footer {
    text-align:center;
    color:#555;
    font-size:14px;
    margin:40px 0 80px 0;
}
.footer strong {
    color:#000;
}
.table {
    width:100%;
    border-collapse:collapse;
    font-size:14px;
}
.table th {
    text-align:left;
    background:#0a0a2a;
    color:#fff;
    padding:10px;
    font-weight:600;
    white-space:nowrap;
}
.table td {
    background:#fafafa;
    padding:10px;
    border-bottom:1px solid #ddd;
    vertical-align:top;
}
.card {
    border:1px solid #ddd;
    background:#fff;
    padding:16px;
    border-radius:12px;
    box-shadow:0 16px 40px rgba(0,0,0,.07);
    margin-bottom:20px;
}
.navbar-admin {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:flex-start;
    background:#0a0a2a;
    color:#fff;
    padding:16px 20px;
    gap:12px;
}
.nav-left-info{
    color:#fff;
    font-size:14px;
}
.nav-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}
.navbar-admin a {
    color:#fff;
    font-weight:500;
    text-decoration:none;
}
.small {
    font-size:13px;
    color:#666;
}
.status-pill{
    display:inline-block;
    font-size:12px;
    font-weight:600;
    color:#fff;
    background:#6c5ce7;
    padding:4px 8px;
    border-radius:999px;
    text-transform:capitalize;
}
.badge-role{
    display:inline-block;
    font-size:12px;
    font-weight:600;
    color:#fff;
    background:#1e90ff;
    padding:4px 8px;
    border-radius:6px;
    text-transform:capitalize;
}
form.inline-form{
    display:inline-block;
}

/* printable layout */
.print-wrapper{
    max-width:800px;
    margin:20px auto;
    background:#fff;
    color:#000;
    border:1px solid #ccc;
    border-radius:8px;
    padding:24px;
    box-shadow:0 20px 40px rgba(0,0,0,.08);
    font-size:14px;
    line-height:1.5;
}
.print-header{
    text-align:center;
    border-bottom:2px solid #000;
    padding-bottom:12px;
    margin-bottom:16px;
}
.print-header h2{
    margin:0;
    color:#000;
}
.print-grid{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
}
.print-grid td{
    vertical-align:top;
    padding:6px 8px;
    border-bottom:1px solid #ddd;
}
.print-label{
    font-weight:600;
    color:#000;
    width:180px;
}
.print-note-box{
    min-height:80px;
    border:1px solid #aaa;
    border-radius:6px;
    padding:8px;
    white-space:pre-wrap;
}
.sign-row{
    display:flex;
    justify-content:space-between;
    margin-top:40px;
    font-size:13px;
}
.sign-box{
    width:45%;
    text-align:center;
    border-top:1px solid #000;
    padding-top:6px;
}

/* hide buttons when printing */
@media print {
    .no-print { display:none !important; }
    body { background:#fff; }
    .print-wrapper{
        box-shadow:none;
        border:1px solid #000;
        border-radius:0;
    }
}
