*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#182236;font:14px Inter,Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#111d31;color:#c8d2e2;padding:28px 18px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 28px;color:white}.brandmark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#2f80ed;font-weight:900}.brand small{display:block;color:#71829a;font-size:10px;letter-spacing:1.5px}.sidebar nav{display:grid;gap:8px}.sidebar a{color:#b7c2d2;text-decoration:none;padding:13px 14px;border-radius:9px}.sidebar a:hover,.sidebar a.active{background:#20314b;color:white}.side-foot{margin-top:auto;padding:14px;color:#95a3b8}.side-foot span{font-size:11px;color:#5f7088}main{margin-left:250px;padding:0 34px 50px}header{height:105px;display:flex;justify-content:space-between;align-items:center}h1{margin:0;font-size:25px}header p,.card p{color:#7a8798;margin:7px 0}.header-actions{display:flex;gap:12px;align-items:center}.header-actions button,.avatar{border:1px solid #dce2ea;background:white;border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.avatar{background:#eaf2ff;color:#2f6edb;font-weight:800}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats article,.card{background:white;border:1px solid #e4e9f0;border-radius:14px;padding:20px;box-shadow:0 3px 12px #1b2b4810}.stats span{font-size:11px;color:#7f8b9d;font-weight:800}.stats strong{display:block;font-size:25px;margin:10px 0 7px}.stats em{font-style:normal;color:#7a8798;font-size:12px}.up{color:#139b6d!important}.down{color:#d94a59!important}.grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}.span2{min-width:0}.card{margin-top:16px}.grid .card{margin-top:0}.card h2{margin:0 0 5px;font-size:17px}.card-head{display:flex;justify-content:space-between;align-items:flex-start}.card-head a{color:#3478e5;text-decoration:none}.pill{background:#eef4ff;color:#4771ba;padding:7px 10px;border-radius:8px;font-size:12px}.attention{display:grid;gap:11px;margin-top:16px}.attention>div{display:grid;grid-template-columns:18px 1fr;align-items:center;padding:13px;background:#f8fafc;border-radius:10px}.attention small{grid-column:2;color:#8290a2;margin-top:4px}.dot{width:9px;height:9px;border-radius:50%}.green{background:#1fa975}.yellow{background:#e8a328}.red{background:#e25764}.plan{padding-left:22px;line-height:2.2}.table{margin-top:15px}.tr{display:grid;grid-template-columns:1fr repeat(5,1.15fr);align-items:center;min-height:49px;border-top:1px solid #edf0f4}.th{font-size:11px;color:#8793a3;text-transform:uppercase;font-weight:800}.tag{display:inline-block;width:max-content;padding:6px 9px;border-radius:7px;font-size:12px}.good{background:#e9f8f1;color:#13805b}.warn{background:#fff3df;color:#a56813}.candidates>div{display:grid;grid-template-columns:55px 1fr auto;gap:14px;align-items:center;padding:15px 0;border-top:1px solid #edf0f4}.symbol{width:46px;height:46px;border-radius:10px;background:#edf4ff;color:#2d6dd1;font-weight:900;display:grid;place-items:center}.candidates section p{margin:4px 0;color:#637286}.candidates small{color:#9b741e}.rule{padding:14px;background:#f7f9fc;border-radius:10px;margin-top:12px}.rule p{font-size:12px;line-height:1.5}@media(max-width:900px){.sidebar{width:72px;padding:20px 9px}.brand div,.sidebar nav a:not(.active),.side-foot{font-size:0}.brandmark{width:38px}.sidebar a{overflow:hidden;white-space:nowrap}.sidebar .active{font-size:0}.sidebar .active:first-letter{font-size:18px}main{margin-left:72px;padding:0 15px 35px}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.tr{grid-template-columns:1fr 1fr 1fr}.tr span:nth-child(4),.tr span:nth-child(5),.tr span:nth-child(6){display:none}}@media(max-width:560px){.stats{grid-template-columns:1fr}.candidates>div{grid-template-columns:48px 1fr}.candidates .tag{grid-column:2}}

/* ===== Portfolio V1 ===== */

.portfolio-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-bottom:16px
}

.portfolio-stat{
    background:#fff;
    border:1px solid #e4e9f0;
    border-radius:14px;
    padding:20px;
    box-shadow:0 3px 12px #1b2b4810
}

.portfolio-stat span{
    display:block;
    color:#7f8b9d;
    font-size:11px;
    font-weight:800
}

.portfolio-stat strong{
    display:block;
    margin:10px 0 6px;
    font-size:22px
}

.portfolio-stat small{
    color:#8995a5
}

.portfolio-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:16px
}

.portfolio-main{
    margin-top:0
}

.primary-btn{
    border:0;
    border-radius:9px;
    background:#2878e5;
    color:#fff;
    padding:11px 16px;
    font-weight:700;
    cursor:pointer
}

.primary-btn:hover{
    filter:brightness(.96)
}

.empty-state{
    min-height:270px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    color:#778598
}

.empty-state h3{
    color:#25344a;
    margin:10px 0 3px
}

.empty-state p{
    margin-bottom:18px
}

.empty-icon{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:14px;
    background:#edf4ff;
    color:#2878e5;
    font-size:22px
}

.portfolio-table,
.history-table{
    margin-top:18px;
    overflow-x:auto
}

.portfolio-row{
    min-width:850px;
    display:grid;
    grid-template-columns:1.1fr 1fr 1.2fr 1.4fr 1.2fr 1fr;
    gap:15px;
    align-items:center;
    min-height:58px;
    border-top:1px solid #edf0f4
}

.portfolio-row>span:first-child{
    display:flex;
    flex-direction:column;
    gap:3px
}

.portfolio-row small{
    color:#8995a5
}

.portfolio-th,
.history-th{
    color:#8995a5;
    font-size:11px;
    font-weight:800;
    text-transform:uppercase
}

.muted{
    color:#9aa5b3
}

.transaction-panel{
    display:none;
    margin-top:0
}

.transaction-panel.is-open{
    display:block
}

.transaction-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between
}

.close-panel{
    width:34px;
    height:34px;
    border:1px solid #dfe5ec;
    background:#fff;
    border-radius:9px;
    font-size:22px;
    color:#68778b;
    cursor:pointer
}

.transaction-form{
    margin-top:20px;
    display:grid;
    gap:15px
}

.transaction-form label{
    display:grid;
    gap:7px
}

.transaction-form label>span{
    font-size:12px;
    font-weight:800;
    color:#526176
}

.transaction-form input,
.transaction-form select,
.transaction-form textarea{
    width:100%;
    border:1px solid #dce3eb;
    border-radius:9px;
    padding:11px 12px;
    background:#fff;
    color:#1c293b;
    font:inherit;
    outline:none
}

.transaction-form input:focus,
.transaction-form select:focus,
.transaction-form textarea:focus{
    border-color:#6da6ed;
    box-shadow:0 0 0 3px #2878e512
}

.form-two{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px
}

.form-note{
    padding:12px;
    border-radius:9px;
    background:#f4f7fb;
    color:#748296;
    font-size:12px;
    line-height:1.5
}

.submit-btn{
    width:100%
}

.flash-success,
.flash-error{
    padding:13px 16px;
    margin-bottom:16px;
    border-radius:10px
}

.flash-success{
    background:#eaf8f2;
    color:#147a59;
    border:1px solid #ccebdd
}

.flash-error{
    background:#fff0f1;
    color:#a63d49;
    border:1px solid #f2d2d6
}

.flash-error ul{
    margin:7px 0 0;
    padding-left:20px
}

.history-row{
    min-width:780px;
    display:grid;
    grid-template-columns:1.4fr .8fr .8fr 1fr 1fr 1fr;
    gap:15px;
    align-items:center;
    min-height:52px;
    border-top:1px solid #edf0f4
}

.trade-tag{
    display:inline-block;
    padding:5px 9px;
    border-radius:7px;
    font-size:12px;
    font-weight:700
}

.trade-buy{
    background:#e8f7f0;
    color:#13815b
}

.trade-sell{
    background:#fff0f1;
    color:#c34150
}

.empty-mini{
    padding:30px 0 15px;
    color:#8a96a5;
    text-align:center
}

@media(max-width:1100px){
    .portfolio-stats{
        grid-template-columns:1fr 1fr
    }
}

@media(max-width:650px){
    .portfolio-stats{
        grid-template-columns:1fr
    }

    .form-two{
        grid-template-columns:1fr
    }
}

/* ===== Real Dashboard V1 ===== */

.dashboard-real-stats .dashboard-no-price{
    font-size:18px;
    color:#7d8999
}

.dashboard-start{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:18px;
    align-items:center;
    margin-top:0
}

.dashboard-start-icon{
    width:52px;
    height:52px;
    border-radius:13px;
    background:#edf4ff;
    color:#2878e5;
    display:grid;
    place-items:center;
    font-size:22px
}

.dashboard-start h2{
    margin-bottom:4px
}

.dashboard-start p{
    margin:0
}

.dashboard-link-btn{
    text-decoration:none;
    white-space:nowrap
}

.dashboard-position-table{
    margin-top:16px;
    overflow-x:auto
}

.dashboard-position-row{
    min-width:760px;
    display:grid;
    grid-template-columns:.8fr 1fr 1.1fr 1.3fr 1.1fr .8fr;
    gap:12px;
    align-items:center;
    min-height:53px;
    border-top:1px solid #edf0f4
}

.dashboard-position-row>span:first-child{
    display:flex;
    flex-direction:column;
    gap:3px
}

.dashboard-position-row small{
    color:#8b97a7
}

.dashboard-position-head{
    font-size:10px;
    color:#8995a5;
    font-weight:800;
    text-transform:uppercase
}

.dashboard-second-grid{
    grid-template-columns:1.4fr 1fr
}

.dashboard-empty{
    padding:34px 0 20px;
    text-align:center;
    color:#8b97a7
}

.dashboard-transactions{
    margin-top:12px
}

.dashboard-transaction{
    display:grid;
    grid-template-columns:48px 1fr auto;
    gap:12px;
    align-items:center;
    padding:13px 0;
    border-top:1px solid #edf0f4
}

.dashboard-transaction p{
    margin:4px 0 0;
    font-size:12px
}

.dashboard-modules{
    display:grid;
    gap:10px;
    margin-top:14px
}

.dashboard-modules a{
    display:grid;
    grid-template-columns:38px 1fr;
    gap:11px;
    align-items:center;
    padding:12px;
    border:1px solid #e7ebf1;
    border-radius:10px;
    text-decoration:none;
    color:#27364b
}

.dashboard-modules a>span{
    width:36px;
    height:36px;
    border-radius:9px;
    background:#f1f5fb;
    display:grid;
    place-items:center;
    color:#3678d5
}

.dashboard-modules small{
    display:block;
    margin-top:3px;
    color:#8995a5
}

.dashboard-data-note{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:center
}

.dashboard-data-note p{
    margin-bottom:0
}

@media(max-width:900px){
    .dashboard-second-grid{
        grid-template-columns:1fr
    }

    .dashboard-start{
        grid-template-columns:auto 1fr
    }

    .dashboard-start .dashboard-link-btn{
        grid-column:1 / -1;
        text-align:center
    }
}

/* ===== Journal V1 ===== */

.journal-stats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    margin-bottom:16px
}

.journal-stats article{
    background:#fff;
    border:1px solid #e4e9f0;
    border-radius:14px;
    padding:20px;
    box-shadow:0 3px 12px #1b2b4810
}

.journal-stats span{
    display:block;
    color:#7f8b9d;
    font-size:11px;
    font-weight:800
}

.journal-stats strong{
    display:block;
    margin:9px 0 5px;
    font-size:23px
}

.journal-stats small{
    color:#8995a5
}

.journal-buy{
    color:#13815b
}

.journal-sell{
    color:#c34150
}

.journal-filter-card{
    margin-top:0
}

.journal-filter{
    display:grid;
    grid-template-columns:1.1fr 1fr 1fr 1fr auto;
    gap:12px;
    align-items:end;
    margin-top:17px
}

.journal-filter label{
    display:grid;
    gap:7px
}

.journal-filter label>span{
    font-size:11px;
    font-weight:800;
    color:#607086
}

.journal-filter input,
.journal-filter select{
    width:100%;
    min-height:42px;
    border:1px solid #dce3eb;
    border-radius:9px;
    padding:9px 11px;
    background:#fff;
    font:inherit;
    color:#25344a
}

.journal-filter-actions{
    display:flex;
    align-items:center;
    gap:10px
}

.journal-reset{
    color:#6f7e91;
    text-decoration:none;
    white-space:nowrap
}

.journal-table{
    margin-top:17px;
    overflow-x:auto
}

.journal-row{
    min-width:1050px;
    display:grid;
    grid-template-columns:
        1.2fr .7fr .7fr .9fr
        1fr 1.2fr .9fr 1.5fr;
    gap:14px;
    align-items:center;
    min-height:56px;
    border-top:1px solid #edf0f4
}

.journal-head{
    color:#8995a5;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase
}

.journal-symbol{
    display:flex;
    flex-direction:column;
    gap:2px
}

.journal-symbol small{
    color:#9aa5b3;
    font-size:10px
}

.journal-note{
    color:#748195;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}

.journal-empty{
    min-height:260px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#7d8a9b
}

.journal-empty h3{
    color:#25344a;
    margin:10px 0 3px
}

.journal-empty p{
    margin-bottom:18px
}

.journal-empty-icon{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#edf4ff;
    color:#2878e5;
    font-size:21px
}

/* dashboard module links */
.dashboard-modules a,
.dashboard-modules a:visited{
    color:#27364b;
    text-decoration:none
}

.dashboard-modules a:hover{
    border-color:#cdd9e8;
    background:#fafcff
}

@media(max-width:1100px){
    .journal-filter{
        grid-template-columns:1fr 1fr
    }

    .journal-filter-actions{
        grid-column:1 / -1
    }
}

@media(max-width:700px){
    .journal-stats{
        grid-template-columns:1fr 1fr
    }

    .journal-filter{
        grid-template-columns:1fr
    }

    .journal-filter-actions{
        grid-column:auto
    }
}

@media(max-width:480px){
    .journal-stats{
        grid-template-columns:1fr
    }
}

/* ===== Watchlist V1 ===== */

.watch-add-card{
    margin-top:0
}

.watch-form{
    display:grid;
    grid-template-columns:
        .8fr 1fr 1fr 1fr 1fr 1.1fr;
    gap:12px;
    align-items:end;
    margin-top:17px
}

.watch-form label,
.watch-edit-form label{
    display:grid;
    gap:7px
}

.watch-form label>span,
.watch-edit-form label>span{
    color:#65758a;
    font-size:11px;
    font-weight:800
}

.watch-form input,
.watch-form select,
.watch-edit-form input,
.watch-edit-form select{
    width:100%;
    min-height:42px;
    box-sizing:border-box;
    border:1px solid #dce3eb;
    border-radius:9px;
    padding:9px 11px;
    background:#fff;
    color:#25344a;
    font:inherit
}

.watch-note-input{
    grid-column:1 / 6
}

.watch-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px;
    margin-top:17px
}

.watch-item{
    border:1px solid #e5eaf0;
    border-radius:13px;
    padding:17px;
    background:#fff
}

.watch-item-top{
    display:flex;
    justify-content:space-between;
    gap:15px;
    align-items:flex-start
}

.watch-symbol{
    display:flex;
    flex-direction:column;
    gap:3px
}

.watch-symbol strong{
    font-size:22px;
    color:#1f2d43
}

.watch-symbol span{
    color:#8a96a7;
    font-size:12px
}

.watch-status{
    border-radius:999px;
    padding:6px 9px;
    font-size:10px;
    font-weight:800;
    white-space:nowrap
}

.watch-status-watching{
    background:#edf4ff;
    color:#286fc8
}

.watch-status-waiting{
    background:#fff5dd;
    color:#a56d00
}

.watch-status-ready{
    background:#e9f8f1;
    color:#137654
}

.watch-status-paused{
    background:#f0f2f5;
    color:#6f7a89
}

.watch-prices{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    margin-top:17px
}

.watch-prices div{
    padding:11px;
    border-radius:9px;
    background:#f7f9fc
}

.watch-prices span{
    display:block;
    color:#8793a3;
    font-size:10px;
    margin-bottom:5px
}

.watch-prices strong{
    font-size:13px
}

.watch-note{
    margin-top:13px;
    padding-top:13px;
    border-top:1px solid #edf0f4
}

.watch-note span{
    color:#8793a3;
    font-size:10px;
    font-weight:800
}

.watch-note p{
    margin:5px 0 0
}

.watch-edit{
    margin-top:14px;
    border-top:1px solid #edf0f4;
    padding-top:12px
}

.watch-edit summary{
    cursor:pointer;
    color:#3977c8;
    font-size:12px;
    font-weight:700
}

.watch-edit-form{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:11px;
    align-items:end;
    margin-top:14px
}

.watch-edit-note{
    grid-column:1 / 3
}

.watch-delete{
    margin-top:11px
}

.watch-delete button{
    padding:0;
    border:0;
    background:none;
    color:#b64a55;
    font:inherit;
    font-size:11px;
    cursor:pointer
}

.watch-empty{
    min-height:270px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#8491a2
}

.watch-empty-icon{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#edf4ff;
    color:#2878e5;
    font-size:25px
}

.watch-empty h3{
    color:#26354a;
    margin:11px 0 3px
}

.watch-empty p{
    margin:0
}

@media(max-width:1200px){
    .watch-form{
        grid-template-columns:repeat(3,1fr)
    }

    .watch-note-input{
        grid-column:1 / 3
    }

    .watch-list{
        grid-template-columns:1fr
    }
}

@media(max-width:700px){
    .watch-form,
    .watch-edit-form{
        grid-template-columns:1fr
    }

    .watch-note-input,
    .watch-edit-note{
        grid-column:auto
    }

    .watch-prices{
        grid-template-columns:1fr 1fr
    }
}
