/* BriispGuard — Standard Register CSS */
:root {
    --g-dark:   #1B4332;
    --g-mid:    #2D6A4F;
    --g-accent: #40916C;
    --g-light:  #E8F5E9;
    --border:   #D2E4D2;
    --text:     #1C1917;
    --muted:    #78716C;
    --white:    #FAFCFA;
    --err:      #D32F2F;
    --err-bg:   #FFEBEE;
    --ok:       #2E7D32;
    --ok-bg:    #E8F5E9;
    --radius:   8px;
    --shadow:   0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);
    --shadow-md:0 4px 12px rgba(0,0,0,.10);
    --transition: all .2s ease;
}

*{margin:0;padding:0;box-sizing:border-box;}

body{
    font-family:'DM Sans','Inter',system-ui,sans-serif;
    background:#F4FAF4;
    color:var(--text);
    font-size:14px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}

/* ── TOP BAR ── */
.reg-topbar{
    background:var(--g-dark);
    height:56px;
    display:flex;
    align-items:center;
    padding:0 1.5rem;
    gap:.875rem;
    position:sticky;
    top:0;
    z-index:100;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.reg-topbar-logo{height:38px;width:auto;}

.reg-topbar-divider{width:1px;height:24px;background:rgba(255,255,255,.15);}

.reg-topbar-title{
    font-size:.9rem;
    font-weight:700;
    color:#fff;
    flex:1;
    letter-spacing:-.2px;
}

.reg-topbar-back{
    font-size:.8rem;
    color:rgba(255,255,255,.65);
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:.35rem;
    padding:.35rem .7rem;
    border:1px solid rgba(255,255,255,.15);
    border-radius:6px;
    transition:var(--transition);
}
.reg-topbar-back:hover{color:#fff;background:rgba(255,255,255,.1);}

/* ── PAGE WRAPPER ── */
.reg-wrap{
    max-width:700px;
    margin:0 auto;
    padding:2rem 1.5rem 4rem;
}

@media(max-width:600px){
    .reg-wrap{padding:1.5rem 1rem 3rem;}
}

/* ── PAGE HEADING ── */
.reg-heading{margin-bottom:1.75rem;}
.reg-heading h1{font-size:1.4rem;font-weight:800;color:var(--g-dark);margin-bottom:.2rem;}
.reg-heading p{font-size:.875rem;color:var(--muted);}

/* ── ALERTS ── */
.reg-alert{
    padding:.875rem 1rem;
    border-radius:var(--radius);
    margin-bottom:1.5rem;
    font-size:.875rem;
    border-left:4px solid;
    display:flex;
    flex-direction:column;
    gap:.4rem;
}
.reg-alert-success{background:var(--ok-bg);color:var(--ok);border-left-color:#4CAF50;}
.reg-alert-error{background:var(--err-bg);color:var(--err);border-left-color:#F44336;}
.reg-alert-info{background:#E3F2FD;color:#1565C0;border-left-color:#1565C0;}
.reg-alert strong{font-weight:700;}
.reg-alert ul{margin:.3rem 0 0 1.25rem;}
.reg-alert ul li{margin-bottom:.2rem;}
.reg-alert-actions{display:flex;gap:.75rem;margin-top:.5rem;}
.reg-alert-actions a{font-size:.82rem;font-weight:700;text-decoration:none;color:inherit;border-bottom:1px solid currentColor;}

/* ── CARD ── */
.reg-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    padding:2rem;
    box-shadow:var(--shadow);
}

/* ── SECTION LABEL ── */
.reg-section{
    font-size:.68rem;
    font-weight:700;
    color:var(--g-dark);
    text-transform:uppercase;
    letter-spacing:1px;
    padding-bottom:.5rem;
    border-bottom:2px solid var(--g-light);
    margin:1.75rem 0 1.25rem;
}
.reg-section:first-child{margin-top:0;}

/* ── GRID ROW ── */
.reg-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:600px){.reg-row{grid-template-columns:1fr;}}

/* ── FORM GROUP ── */
.reg-group{margin-bottom:1rem;}

.reg-label{
    display:block;
    font-size:.78rem;
    font-weight:600;
    color:var(--text);
    margin-bottom:.35rem;
}
.reg-label .req{color:var(--err);margin-left:2px;}

/* ── INPUTS ── */
.reg-input,
.reg-select,
.reg-textarea{
    width:100%;
    padding:.68rem .875rem;
    border:1.5px solid #D1D5DB;
    border-radius:var(--radius);
    font-size:.875rem;
    font-family:inherit;
    color:var(--text);
    background:#FAFAFA;
    transition:border-color .15s,box-shadow .15s,background .15s;
    appearance:none;
    -webkit-appearance:none;
}

.reg-input:focus,
.reg-select:focus,
.reg-textarea:focus{
    outline:none;
    border-color:var(--g-accent);
    box-shadow:0 0 0 3px rgba(64,145,108,.1);
    background:#fff;
}

.reg-textarea{resize:vertical;min-height:80px;}

.reg-input[type="file"]{
    padding:.45rem .875rem;
    cursor:pointer;
    background:#fff;
}

/* Select arrow */
.reg-select{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2378716C' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right .85rem center;
    padding-right:2.25rem;
}

.reg-hint{font-size:.75rem;color:var(--muted);margin-top:.3rem;}

/* ── CHECKBOX ── */
.reg-check{
    display:flex;
    align-items:flex-start;
    gap:.6rem;
    margin:1.25rem 0;
}
.reg-check input[type="checkbox"]{
    width:16px;height:16px;
    margin-top:.15rem;
    flex-shrink:0;
    accent-color:var(--g-dark);
    cursor:pointer;
}
.reg-check label{font-size:.875rem;color:var(--text);line-height:1.5;cursor:pointer;}
.reg-check a{color:var(--g-accent);text-decoration:none;font-weight:600;}
.reg-check a:hover{text-decoration:underline;}

/* ── SUBMIT ── */
.reg-submit{
    width:100%;
    padding:.9rem 1.5rem;
    background:linear-gradient(135deg,var(--g-dark) 0%,var(--g-mid) 100%);
    color:#fff;
    border:none;
    border-radius:var(--radius);
    font-size:.9rem;
    font-weight:700;
    font-family:inherit;
    cursor:pointer;
    letter-spacing:.1px;
    margin-top:1.5rem;
    box-shadow:0 4px 14px rgba(27,67,50,.25);
    transition:transform .15s,box-shadow .15s;
}
.reg-submit:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(27,67,50,.35);}
.reg-submit:active{transform:scale(.99);}
.reg-submit:disabled{opacity:.65;cursor:not-allowed;transform:none;}

/* ── FOOTER ── */
.reg-footer{
    text-align:center;
    margin-top:1.25rem;
    font-size:.85rem;
    color:var(--muted);
}
.reg-footer a{color:var(--g-dark);font-weight:700;text-decoration:none;}
.reg-footer a:hover{text-decoration:underline;}

/* ── SELECTOR PAGE ── */
.reg-selector-wrap{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem;}
.reg-selector-heading{text-align:center;margin-bottom:2rem;}
.reg-selector-heading h1{font-size:1.75rem;font-weight:800;color:var(--g-dark);margin-bottom:.4rem;}
.reg-selector-heading p{font-size:.95rem;color:var(--muted);max-width:540px;margin:0 auto;}
.reg-selector-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-bottom:2rem;}

.reg-type-card{
    background:#fff;
    border:1.5px solid var(--border);
    border-radius:12px;
    padding:1.5rem;
    text-decoration:none;
    display:flex;
    flex-direction:column;
    gap:.75rem;
    transition:var(--transition);
    box-shadow:var(--shadow);
    color:var(--text);
}
.reg-type-card:hover{
    border-color:var(--g-accent);
    box-shadow:var(--shadow-md);
    transform:translateY(-3px);
}
.reg-type-card-label{
    font-size:.65rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    color:var(--g-accent);
    background:var(--g-light);
    padding:.2rem .65rem;
    border-radius:20px;
    display:inline-block;
    width:fit-content;
}
.reg-type-card h2{font-size:1.1rem;font-weight:700;color:var(--g-dark);}
.reg-type-card p{font-size:.82rem;color:var(--muted);line-height:1.55;flex:1;}
.reg-type-card-btn{
    display:block;
    text-align:center;
    padding:.7rem 1rem;
    background:linear-gradient(135deg,var(--g-dark),var(--g-mid));
    color:#fff;
    border-radius:var(--radius);
    font-size:.85rem;
    font-weight:700;
    margin-top:.25rem;
    transition:opacity .15s;
}
.reg-type-card:hover .reg-type-card-btn{opacity:.9;}

.reg-back-footer{
    text-align:center;
    padding-top:1.5rem;
    border-top:1px solid var(--border);
}
.reg-back-footer a{
    font-size:.875rem;
    color:var(--muted);
    text-decoration:none;
    font-weight:600;
}
.reg-back-footer a:hover{color:var(--g-dark);}

/* ══════════════════════════════════════════════
   SPLIT PAGE LAYOUT
═══════════════════════════════════════════════ */
.reg-page{display:flex;flex-direction:column;min-height:100vh;}
.reg-split{display:flex;flex:1;}

/* Left info panel */
.reg-left{
    width:40%;min-width:300px;
    background:linear-gradient(150deg,#0b1f13 0%,#0f2a1c 45%,#163b26 100%);
    display:flex;flex-direction:column;gap:.85rem;
    padding:2.25rem 2.75rem;
    position:sticky;top:0;height:100vh;overflow:hidden;flex-shrink:0;
    border-right:1px solid rgba(255,255,255,.06);
}
/* grid overlay */
.reg-left::before{content:'';position:absolute;inset:0;
    background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
                     linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
    background-size:30px 30px;pointer-events:none;}
/* ambient glow */
.reg-left::after{content:'';position:absolute;top:-80px;right:-80px;
    width:360px;height:360px;
    background:radial-gradient(circle,rgba(82,183,136,.18) 0%,transparent 65%);
    pointer-events:none;}
/* orbs */
.reg-orb{position:absolute;border-radius:50%;filter:blur(42px);pointer-events:none;z-index:0;}
.reg-orb-1{width:220px;height:220px;top:5%;left:8%;background:radial-gradient(circle,rgba(82,183,136,.22) 0%,transparent 70%);animation:regOrb1 9s ease-in-out infinite;}
.reg-orb-2{width:160px;height:160px;top:42%;right:-15px;background:radial-gradient(circle,rgba(64,145,108,.18) 0%,transparent 70%);animation:regOrb2 12s ease-in-out infinite 2s;}
.reg-orb-3{width:130px;height:130px;bottom:16%;left:36%;background:radial-gradient(circle,rgba(45,106,79,.25) 0%,transparent 70%);animation:regOrb3 7s ease-in-out infinite 1s;}
@keyframes regOrb1{0%,100%{transform:translate(0,0) scale(1);}33%{transform:translate(26px,-20px) scale(1.08);}66%{transform:translate(-16px,16px) scale(.94);}}
@keyframes regOrb2{0%,100%{transform:translate(0,0) scale(1);}40%{transform:translate(-20px,24px) scale(1.1);}75%{transform:translate(16px,-14px) scale(.92);}}
@keyframes regOrb3{0%,100%{transform:translate(0,0);}50%{transform:translate(18px,-16px);}}
/* scan line */
.reg-scan{position:absolute;left:0;right:0;height:1.5px;
    background:linear-gradient(90deg,transparent,rgba(82,183,136,.45) 50%,transparent);
    pointer-events:none;z-index:0;animation:regScan 6s linear infinite;}
@keyframes regScan{0%{top:-2%;opacity:0;}8%{opacity:1;}92%{opacity:1;}100%{top:102%;opacity:0;}}
/* dots */
.reg-dot{position:absolute;border-radius:50%;pointer-events:none;z-index:0;background:rgba(82,183,136,.45);}
.reg-dot-1{width:4px;height:4px;top:20%;left:72%;animation:regDot 8s ease-in-out infinite;}
.reg-dot-2{width:3px;height:3px;top:58%;left:22%;animation:regDot 11s ease-in-out infinite 3s;}
.reg-dot-3{width:5px;height:5px;top:78%;left:78%;animation:regDot 9s ease-in-out infinite 1.5s;}
@keyframes regDot{0%,100%{transform:translate(0,0);opacity:.45;}25%{transform:translate(12px,-16px);opacity:.7;}50%{transform:translate(-8px,10px);opacity:.3;}75%{transform:translate(6px,14px);opacity:.6;}}

/* left inner content */
.reg-left-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:.85rem;height:100%;}
.reg-left-logo{display:flex;align-items:center;gap:.75rem;}
.reg-left-logo img{height:44px;width:auto;filter:drop-shadow(0 3px 10px rgba(255,255,255,.2));}
.reg-left-logo-name{font-size:1.05rem;font-weight:800;color:#fff;letter-spacing:-.3px;line-height:1.1;}
.reg-left-logo-sub{font-size:.6rem;font-weight:700;color:rgba(255,255,255,.38);text-transform:uppercase;letter-spacing:1.5px;}
.reg-left-badge{display:inline-flex;align-items:center;background:rgba(82,183,136,.12);
    border:1px solid rgba(82,183,136,.28);border-radius:20px;padding:.22rem .8rem;
    font-size:.65rem;font-weight:700;color:#74c69d;text-transform:uppercase;letter-spacing:1.2px;
    width:fit-content;}
.reg-left-headline{font-size:clamp(1.4rem,2.8vw,1.9rem);font-weight:800;color:#fff;line-height:1.22;letter-spacing:-.5px;margin:0;}
.reg-left-headline em{color:#74c69d;font-style:normal;}
.reg-left-sub{font-size:.83rem;color:rgba(255,255,255,.45);line-height:1.7;margin:0;}
/* feature grid */
.reg-feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;}
.reg-feat-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:9px;
    padding:.55rem .75rem;display:flex;flex-direction:column;gap:.2rem;transition:background .18s;}
.reg-feat-card:hover{background:rgba(255,255,255,.1);}
.reg-feat-title{font-size:.78rem;font-weight:700;color:rgba(255,255,255,.9);}
.reg-feat-sub{font-size:.67rem;color:rgba(255,255,255,.38);line-height:1.45;margin-top:.1rem;}
/* stats strip */
.reg-stats{display:flex;gap:1.25rem;padding:.9rem 1rem;
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;}
.reg-stat{text-align:center;flex:1;}
.reg-stat-num{font-size:1.15rem;font-weight:800;color:#74c69d;line-height:1;}
.reg-stat-lbl{font-size:.6rem;color:rgba(255,255,255,.32);text-transform:uppercase;letter-spacing:.5px;margin-top:.15rem;}
/* live dot */
.reg-live{display:flex;align-items:center;gap:.5rem;}
.reg-live-dot{width:7px;height:7px;border-radius:50%;background:#52b788;box-shadow:0 0 8px #52b788;flex-shrink:0;}
.reg-live-text{font-size:.7rem;color:rgba(255,255,255,.3);}
/* back link */
.reg-left-back{font-size:.75rem;color:rgba(255,255,255,.35);text-decoration:none;margin-top:auto;
    display:flex;align-items:center;gap:.4rem;transition:color .15s;}
.reg-left-back:hover{color:rgba(255,255,255,.7);}

/* Right form panel */
.reg-right{flex:1;background:#eef7ef;display:flex;flex-direction:column;
    align-items:center;padding:2.5rem 2rem;overflow-y:auto;}
.reg-right .reg-form-wrap{width:100%;max-width:520px;}
.reg-right .reg-heading{margin-bottom:1.5rem;}
.reg-right .reg-heading h1{font-size:1.5rem;font-weight:800;color:var(--g-dark);}
.reg-right .reg-heading h1 em{color:var(--g-dark);font-style:normal;}
.reg-right .reg-heading p{font-size:.85rem;color:var(--muted);margin-top:.2rem;}

/* ══════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════ */
.reg-site-footer{
    background:linear-gradient(180deg,#081a0e 0%,#0b2014 100%);
    color:rgba(255,255,255,.65);
    font-family:'DM Sans','Inter',system-ui,sans-serif;
}
.reg-site-footer a{color:rgba(255,255,255,.55);text-decoration:none;transition:color .18s;}
.reg-site-footer a:hover{color:#74c69d;}
/* footer top grid */
.reg-footer-grid{max-width:1200px;margin:0 auto;padding:3rem 2rem 2rem;
    display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;}
.reg-footer-logo{height:38px;margin-bottom:.75rem;display:block;}
.reg-footer-desc{font-size:.82rem;line-height:1.8;color:rgba(255,255,255,.4);margin-bottom:.9rem;}
.reg-footer-badge{display:inline-flex;align-items:center;gap:.38rem;
    background:rgba(82,183,136,.1);border:1px solid rgba(82,183,136,.22);
    border-radius:20px;padding:.22rem .7rem;font-size:.68rem;color:#74c69d;font-weight:600;}
.reg-footer-social{display:flex;gap:.5rem;margin-top:.9rem;}
.reg-footer-social a{display:flex;align-items:center;justify-content:center;
    width:32px;height:32px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);
    border-radius:9px;font-size:.78rem;color:rgba(255,255,255,.45);transition:all .2s;}
.reg-footer-social a:hover{background:rgba(82,183,136,.18);border-color:rgba(82,183,136,.35);color:#74c69d;}
.reg-footer-col-title{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:1.3px;
    color:rgba(255,255,255,.28);margin-bottom:.9rem;}
.reg-footer-links{display:flex;flex-direction:column;gap:.48rem;}
.reg-footer-links a{font-size:.83rem;}
/* footer bottom */
.reg-footer-bottom{max-width:1200px;margin:0 auto;padding:.9rem 2rem 1.5rem;
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;
    border-top:1px solid rgba(255,255,255,.07);font-size:.73rem;color:rgba(255,255,255,.28);}
.reg-footer-bottom-links{display:flex;gap:1.5rem;}
.reg-footer-bottom-links a{color:rgba(255,255,255,.28);}
.reg-footer-bottom-links a:hover{color:rgba(255,255,255,.65);}

/* ── responsive ── */
@media(max-width:960px){
    .reg-left{width:44%;padding:2rem;}
    .reg-feat-sub{display:none;}
    .reg-footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
}
@media(max-width:700px){
    .reg-split{flex-direction:column;}
    .reg-left{width:100%;min-width:unset;height:auto;position:relative;padding:1.5rem 1.25rem;border-right:none;border-bottom:1px solid rgba(255,255,255,.08);}
    .reg-stats{display:none;}
    .reg-right{padding:1.5rem 1rem 2.5rem;}
    .reg-right .reg-form-wrap{max-width:100%;}
    .reg-footer-grid{grid-template-columns:1fr;gap:1.5rem;padding:2rem 1.25rem;}
    .reg-footer-bottom{flex-direction:column;text-align:center;padding:1rem 1.25rem;}
    .reg-footer-bottom-links{justify-content:center;}
}
