*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#29104c 0,#10091e 35%,#07050d 75%);color:#eee;font:14px Inter,system-ui,sans-serif;min-height:100vh}header{padding:22px 28px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #372351;background:#0c0815cc}h1,h2,p{margin:0}h1{color:#d9b8ff}.stats,.muted{color:#a89bb9}.toolbar{padding:12px 28px;display:flex;gap:10px;position:sticky;top:0;background:#090611ee;z-index:3}.toolbar input{flex:1}button,.button,input,textarea{border:1px solid #573584;background:#171024;color:#eee;border-radius:8px;padding:9px 12px}.button{text-decoration:none;display:inline-block}button{cursor:pointer;background:#6c31b5}.secondary{background:#20182d}.danger{background:#54202b}.wide{width:100%}main{display:grid;grid-template-columns:330px 1fr;gap:18px;padding:0 28px 30px}aside{background:#0e0a16;border:1px solid #30203f;border-radius:12px;padding:14px;height:calc(100vh - 135px);overflow:auto;position:sticky;top:65px}aside h2{margin-bottom:10px}.group,.rgroup{background:#171021;border:1px solid #3d2851;border-radius:9px;padding:10px;margin:9px 0}.group{cursor:grab}.group>b,.group>span{display:block}.group>span{font-size:12px;color:#a99db5;margin:4px 0}.mini{display:none}.group:hover .mini{display:block}.mini div,.remail{font-size:12px;padding:4px 0}.client{background:#0e0a16;border:1px solid #36234b;border-radius:12px;margin-bottom:14px;overflow:hidden}.clienthead{padding:13px 15px;display:flex;justify-content:space-between;align-items:center;background:#151020}.clienthead h2{color:#d5b3ff}.clienthead span{font-size:12px;color:#9f93ac}.profiles{padding:7px 12px}.profile{display:grid;grid-template-columns:minmax(130px,1fr) 100px minmax(250px,2fr) auto auto;gap:9px;align-items:center;padding:8px;border-bottom:1px solid #24182f}.profile:hover{background:#16101f}.cid{font-family:monospace;color:#bd91f0}.cred{font-family:monospace;overflow:hidden;text-overflow:ellipsis}.blank{color:#71677c;font-style:italic}.badge{font:700 10px system-ui;padding:2px 5px;border-radius:4px;background:#4a2676}.badge.a{background:#293a67}.tiny,.x{padding:4px 7px;font-size:11px}.x{background:#351822}details{border-top:1px solid #2d1e3b;padding:10px 14px}summary{cursor:pointer;color:#bda9d0}.reserved{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.used{opacity:.45}.empty{color:#746b7d;padding:14px;text-align:center}.big{margin-top:80px}.modal{display:none;position:fixed;inset:0;background:#000b;z-index:10;align-items:center;justify-content:center}.modal.on{display:flex}.box{width:min(720px,90vw);background:#100b18;border:1px solid #50336c;border-radius:12px;padding:18px}.box.small{width:420px}.box h2{margin-bottom:12px}.box textarea{width:100%;height:380px;margin-bottom:10px;font-family:monospace}.box input{width:100%;margin-bottom:12px}@media(max-width:900px){main{grid-template-columns:1fr}aside{position:static;height:auto}.profile{grid-template-columns:1fr 100px}.cred,.blank{grid-column:1/-1}.clienthead{align-items:flex-start;gap:10px;flex-direction:column}}

/* Two-column client layout */
#clients {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}

#clients .client {
    margin-bottom: 0;
}

/* Compact profile rows inside two-column cards */
#clients .profile {
    grid-template-columns: minmax(120px, 1fr) 90px minmax(150px, 1.3fr) auto auto;
}

/* Return to one column on smaller screens */
@media (max-width: 1250px) {
    #clients {
        grid-template-columns: 1fr;
    }
}

/* Force two-column client board on desktop */
#clients {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:14px !important;
    align-items:start;
}

#clients .client {
    margin:0 !important;
    min-width:0;
}

#clients .profile {
    grid-template-columns:minmax(100px,1fr) 85px minmax(120px,1.2fr) auto auto;
    gap:6px;
}

/* Only collapse when the whole page is actually narrow */
@media (max-width:900px) {
    #clients {
        grid-template-columns:1fr !important;
    }
}

/* Masonry-style client columns */
#clients {
    display:block !important;
    column-count:2;
    column-gap:14px;
}

#clients .client {
    display:inline-block;
    width:100%;
    margin:0 0 14px 0 !important;
    break-inside:avoid;
    vertical-align:top;
}

@media (max-width:900px) {
    #clients {
        column-count:1;
    }
}

/* Target account pool */
.targetsection{
    border-top:1px solid #38254b;
    margin-top:18px;
    padding-top:16px;
}

.targettitle{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    margin-bottom:10px;
}

.targettitle h2{
    margin:0;
}

#targetCount{
    color:#a99db5;
    font-size:11px;
    text-align:right;
}

.targetaccount{
    background:#171021;
    border:1px solid #4c2c66;
    border-radius:8px;
    padding:8px;
    margin:8px 0;
}

.targetaccounttop{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:5px;
}

.targetaccounttop b{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:12px;
}

.targetpass{
    font-family:monospace;
    color:#a99db5;
    font-size:11px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    margin-top:4px;
}

.credentials{
    min-width:0;
    overflow:hidden;
}

.blazingcred,
.targetmatch{
    font-family:monospace;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.targetmatch{
    margin-top:5px;
    color:#d6b5ff;
}

.targetlabel{
    display:inline-block;
    font:700 9px system-ui;
    padding:2px 5px;
    border-radius:4px;
    background:#7b2fc0;
    color:white;
}

.targetcred{
    font-family:monospace;
}

.targetmissing{
    margin-top:5px;
    font-size:10px;
    font-weight:700;
    color:#ff7189;
}

.csvimport{
    margin-top:7px;
    background:#28183d;
}

/* Global Pool controls */
.poolbuttons{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-bottom:7px;
}

.poolbuttons button{
    width:100%;
    margin:0;
}

.poolbuttons .csvimport{
    margin:0;
    background:#28183d;
}

.poolsearch{
    width:100%;
    margin-bottom:8px;
}
