/* ==========================================================
   FOLDER
   Design System v1.0
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{

    --background:#F5F5F7;

    --surface:rgba(255,255,255,.82);

    --border:#E5E5EA;

    --text:#111111;

    --secondary:#6E6E73;

    --primary:#0071E3;

    --primary-hover:#0062C6;

    --danger:#FF3B30;

    --success:#34C759;

    --radius:26px;

}

html,
body{

    width:100%;
    height:100%;

    font-family:"Inter",sans-serif;

    background:var(--background);

    color:var(--text);

}

body{

    position:relative;

}

/* ==========================================================
BACKGROUND
========================================================== */

.background{

    position:fixed;

    inset:0;

    background:
        radial-gradient(circle at top left,#D8ECFF 0%,transparent 45%),
        radial-gradient(circle at bottom right,#E9E4FF 0%,transparent 40%),
        #F5F5F7;

    z-index:-1;

}

/* ==========================================================
LOGIN
========================================================== */

.login{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:40px;

}

.card{

    width:430px;

    background:var(--surface);

    backdrop-filter:blur(35px);

    border:1px solid rgba(255,255,255,.7);

    border-radius:30px;

    box-shadow:
        0 15px 45px rgba(0,0,0,.08);

    padding:55px;

    animation:appear .6s ease;

}

.card h1{

    font-size:44px;

    letter-spacing:-2px;

    margin-bottom:12px;

}

.card p{

    color:var(--secondary);

    line-height:1.7;

    margin-bottom:35px;

}

form{

    display:flex;

    flex-direction:column;

    gap:18px;

}

input{

    width:100%;

    height:58px;

    border:none;

    outline:none;

    border:1px solid var(--border);

    border-radius:16px;

    padding:0 18px;

    font-size:15px;

    transition:.25s;

}

input:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(0,113,227,.12);

}

button{

    border:none;

    cursor:pointer;

    background:var(--primary);

    color:white;

    height:58px;

    border-radius:16px;

    font-size:15px;

    font-weight:600;

    transition:.2s;

}

button:hover{

    background:var(--primary-hover);

    transform:translateY(-2px);

}

button:active{

    transform:scale(.98);

}

/* ==========================================================
APP
========================================================== */

.app{

    width:min(1450px,95%);

    margin:auto;

    padding:40px 0;

}

/* ==========================================================
TOPBAR
========================================================== */

.topbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:45px;

}

.topbar h1{

    font-size:42px;

    letter-spacing:-2px;

}

.topbar span{

    display:block;

    margin-top:8px;

    color:var(--secondary);

}

.user{

    background:white;

    border:1px solid var(--border);

    padding:12px 20px;

    border-radius:999px;

    font-weight:600;

    box-shadow:0 8px 25px rgba(0,0,0,.05);

}

/* ==========================================================
TOOLBAR
========================================================== */

.toolbar{

    display:flex;

    gap:20px;

    margin-bottom:40px;

}

.toolbar input{

    flex:1;

    background:white;

}

.toolbar button{

    width:220px;

}

/* ==========================================================
DOCUMENTS
========================================================== */

.documents{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(260px,1fr));

    gap:24px;

}

/* ==========================================================
EMPTY STATE
========================================================== */

.empty{

    grid-column:1/-1;

    background:rgba(255,255,255,.82);

    backdrop-filter:blur(30px);

    border:1px solid rgba(255,255,255,.7);

    border-radius:30px;

    padding:90px;

    text-align:center;

    box-shadow:0 12px 35px rgba(0,0,0,.05);

}

.empty h2{

    font-size:34px;

    margin-bottom:18px;

}

.empty p{

    color:var(--secondary);

    line-height:1.8;

}

/* ==========================================================
ANIMATION
========================================================== */

@keyframes appear{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:none;

    }

}