:root{--bg:#f4f6f8;--card:#fff;--text:#17202a;--muted:#697586;--line:#dfe4ea;--nav:#17202a;--accent:#3568d4;--red:#b42318;--redbg:#fee4e2;--green:#067647;--greenbg:#d1fadf}html[data-theme=dark]{--bg:#11151a;--card:#1a2027;--text:#eef2f6;--muted:#a7b0bc;--line:#303943;--nav:#0b0e12}@media(prefers-color-scheme:dark){html[data-theme=auto]{--bg:#11151a;--card:#1a2027;--text:#eef2f6;--muted:#a7b0bc;--line:#303943;--nav:#0b0e12}}*{box-sizing:border-box}body{margin:0;font:15px system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text)}a{color:inherit}.layout{display:grid;grid-template-columns:92px 1fr;min-height:100vh}aside{background:var(--nav);color:white;padding:14px 8px;display:flex;flex-direction:column;gap:7px}aside .brand{font-size:24px;font-weight:800;text-align:center;padding:8px}aside a{text-decoration:none;text-align:center;border-radius:10px;padding:10px 4px;font-size:22px}aside a span{display:block;font-size:11px;margin-top:4px}aside a:hover{background:#ffffff18}main{min-width:0;padding:0 24px}.top{height:58px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin:18px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.stat b{font-size:24px;display:block}.muted{color:var(--muted)}table{width:100%;border-collapse:collapse;background:var(--card)}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted)}input,select,button{font:inherit;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text)}button,.btn{background:var(--accent);color:white;border:0;cursor:pointer;text-decoration:none;display:inline-block;padding:10px 14px;border-radius:8px}.formrow{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.formrow label{display:flex;flex-direction:column;gap:5px}.neg{color:var(--red);background:var(--redbg);font-weight:700}.pos{color:var(--green);background:var(--greenbg);font-weight:700}.zero{font-weight:600}.clock{width:180px;height:180px;border:7px solid var(--text);border-radius:50%;position:relative;margin:24px auto}.hand{position:absolute;left:50%;bottom:50%;transform-origin:bottom;width:3px;background:var(--text);border-radius:3px}.hour{height:48px}.minute{height:65px}.second{height:72px;width:1px;background:#d92d20}.clock:after{content:'';position:absolute;width:10px;height:10px;background:var(--text);border-radius:50%;left:calc(50% - 5px);top:calc(50% - 5px)}.today{text-align:center;font-size:20px}details{border-bottom:1px solid var(--line);padding:10px 0}summary{cursor:pointer;font-weight:700}footer{text-align:center;color:var(--muted);padding:24px}.alert{padding:10px;border-radius:8px;background:var(--card);border:1px solid var(--line);margin:12px 0}@media(max-width:650px){.layout{grid-template-columns:62px 1fr}aside a span{display:none}main{padding:0 10px}.formrow>*{width:100%}.tablewrap{overflow:auto}}

/* v1.0.3 Reports submenu + reports filters */
aside details.nav-reports{border:0;padding:0;margin:0}
aside details.nav-reports>summary{
    list-style:none;
    text-align:center;
    border-radius:10px;
    padding:10px 4px;
    font-size:22px;
    cursor:pointer;
}
aside details.nav-reports>summary::-webkit-details-marker{display:none}
aside details.nav-reports>summary span{display:block;font-size:11px;margin-top:4px}
aside details.nav-reports>summary:hover,
aside details.nav-reports[open]>summary{background:#ffffff18}
aside .nav-sub{
    display:flex;
    flex-direction:column;
    gap:3px;
    margin:3px 0 6px;
}
aside .nav-sub a{
    font-size:11px;
    line-height:1.15;
    padding:7px 3px;
    border-radius:7px;
}
.report-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}
.report-tabs a{
    text-decoration:none;
    padding:9px 13px;
    border:1px solid var(--line);
    background:var(--card);
    border-radius:9px;
}
.report-tabs a.active{
    background:var(--accent);
    color:#fff;
    border-color:transparent;
}
.report-filter{display:flex;flex-direction:column;gap:12px}
.period-buttons{display:flex;gap:8px;flex-wrap:wrap}
.period-buttons .btn{background:var(--card);color:var(--text);border:1px solid var(--line)}
.period-buttons .active-btn{background:var(--accent);color:#fff;border-color:transparent}
@media(max-width:650px){
    aside details.nav-reports>summary span{display:none}
    aside .nav-sub a{font-size:9px;padding:6px 1px}
}

/* v1.0.3a compact Reports submenu */
aside details.nav-reports>summary{
    font-size:19px;
    padding:9px 4px;
}
aside details.nav-reports>summary span{
    font-size:11px;
    margin-top:3px;
}
aside .nav-sub{
    gap:1px;
    margin:2px 0 5px 10px;
    padding-left:7px;
    border-left:1px solid #ffffff22;
}
aside .nav-sub a{
    font-size:10px;
    line-height:1.05;
    padding:5px 3px;
    text-align:left;
    opacity:.9;
}
aside .nav-sub a:hover{
    opacity:1;
}

/* v1.0.3d - exact Reports submenu sizing */
aside details.nav-reports div.nav-sub > a,
aside details.nav-reports[open] div.nav-sub > a {
    font-size:11px !important;
    font-weight:400 !important;
    line-height:1.15 !important;
    padding:4px 3px !important;
    margin:0 !important;
    min-height:0 !important;
    text-align:left !important;
}
aside details.nav-reports div.nav-sub {
    gap:0 !important;
    margin:2px 0 6px 12px !important;
    padding:0 0 0 7px !important;
}

/* v1.0.3e - Reports sidebar item aligned with other main menu entries */
aside details.nav-reports{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}
aside details.nav-reports > summary{
    list-style:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:10px 4px !important;
    margin:0 !important;
    border-radius:10px !important;
    cursor:pointer !important;
    font-weight:400 !important;
    overflow:hidden !important;
}
aside details.nav-reports > summary::-webkit-details-marker{
    display:none !important;
}
aside details.nav-reports > summary::marker{
    content:"" !important;
}
aside .nav-report-icon{
    display:block !important;
    font-size:22px !important;
    line-height:1 !important;
    font-weight:400 !important;
}
aside .nav-report-label{
    display:inline-block !important;
    font-size:11px !important;
    line-height:1.2 !important;
    margin-top:4px !important;
    font-weight:400 !important;
    white-space:nowrap !important;
}
aside .nav-report-arrow{
    display:inline-block !important;
    width:0 !important;
    height:0 !important;
    margin-top:3px !important;
    border-top:4px solid transparent !important;
    border-bottom:4px solid transparent !important;
    border-left:5px solid currentColor !important;
    opacity:.75 !important;
    transform:rotate(0deg) !important;
    transition:transform .15s ease !important;
}
aside details.nav-reports[open] .nav-report-arrow{
    transform:rotate(90deg) !important;
}
aside details.nav-reports > summary:hover,
aside details.nav-reports[open] > summary{
    background:#ffffff18 !important;
}
aside details.nav-reports .nav-sub{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    margin:1px 0 6px 16px !important;
    padding:0 0 0 7px !important;
    border-left:1px solid #ffffff22 !important;
}
aside details.nav-reports .nav-sub > a{
    display:block !important;
    font-size:11px !important;
    font-weight:400 !important;
    line-height:1.15 !important;
    padding:4px 2px !important;
    margin:0 !important;
    min-height:0 !important;
    text-align:left !important;
    border-radius:5px !important;
}

/* v1.0.4 - Clients submenu */
aside details.nav-clients{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
}
aside details.nav-clients > summary{
    list-style:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:10px 4px !important;
    margin:0 !important;
    border-radius:10px !important;
    cursor:pointer !important;
    font-weight:400 !important;
    overflow:hidden !important;
}
aside details.nav-clients > summary::-webkit-details-marker{display:none !important}
aside details.nav-clients > summary::marker{content:"" !important}
aside .nav-client-icon{
    display:block !important;
    font-size:22px !important;
    line-height:1 !important;
    font-weight:400 !important;
}
aside .nav-client-label{
    display:inline-block !important;
    font-size:11px !important;
    line-height:1.2 !important;
    margin-top:4px !important;
    font-weight:400 !important;
    white-space:nowrap !important;
}
aside .nav-client-arrow{
    display:inline-block !important;
    width:0 !important;
    height:0 !important;
    margin-top:3px !important;
    border-top:4px solid transparent !important;
    border-bottom:4px solid transparent !important;
    border-left:5px solid currentColor !important;
    opacity:.75 !important;
    transition:transform .15s ease !important;
}
aside details.nav-clients[open] .nav-client-arrow{transform:rotate(90deg) !important}
aside details.nav-clients > summary:hover,
aside details.nav-clients[open] > summary{background:#ffffff18 !important}
aside details.nav-clients .nav-sub{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
    margin:1px 0 6px 16px !important;
    padding:0 0 0 7px !important;
    border-left:1px solid #ffffff22 !important;
}
aside details.nav-clients .nav-sub > a{
    display:block !important;
    font-size:11px !important;
    font-weight:400 !important;
    line-height:1.15 !important;
    padding:4px 2px !important;
    margin:0 !important;
    min-height:0 !important;
    text-align:left !important;
    border-radius:5px !important;
}

/* Client sort page */
.sort-server{margin-bottom:18px}
.sort-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}
.sort-row{
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:9px;
    background:var(--card);
    cursor:grab;
    user-select:none;
}
.sort-row:active{cursor:grabbing}
.sort-row.dragging{opacity:.45}
.sort-handle{font-size:19px;opacity:.65;letter-spacing:-3px}
.sort-pos{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:50%;
    border:1px solid var(--line);
    font-size:12px;
    flex:0 0 auto;
}
.sort-client-main{min-width:0;flex:1}
.sort-status{font-size:12px;margin-top:8px;min-height:18px}

/* v1.0.4d - numbers on the existing analog clock */
.clock .clock-num{
    position:absolute;
    z-index:1;
    font-size:12px;
    font-weight:700;
    line-height:1;
    transform:translate(-50%,-50%);
    pointer-events:none;
}
.clock .n12{left:50%;top:11%}
.clock .n1{left:69%;top:16%}
.clock .n2{left:84%;top:31%}
.clock .n3{left:89%;top:50%}
.clock .n4{left:84%;top:69%}
.clock .n5{left:69%;top:84%}
.clock .n6{left:50%;top:89%}
.clock .n7{left:31%;top:84%}
.clock .n8{left:16%;top:69%}
.clock .n9{left:11%;top:50%}
.clock .n10{left:16%;top:31%}
.clock .n11{left:31%;top:16%}
.today{
    text-align:center;
    font-size:20px;
    line-height:1.35;
}
.today strong{
    font-size:16px;
    letter-spacing:.04em;
}

/* v1.0.5b - srpski datum dd/mm/yyyy */
.bm-date-wrap{position:relative;display:inline-flex;align-items:center;width:100%}
.bm-date-wrap .bm-date{padding-right:42px;width:100%}
.bm-cal-btn{position:absolute;right:7px;border:0;background:transparent;color:inherit;padding:4px 7px;cursor:pointer;font-size:18px}
.bm-calendar{position:absolute;z-index:9999;top:calc(100% + 6px);left:0;width:280px;padding:12px;border:1px solid #3b4552;border-radius:12px;background:#192029;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.bm-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.bm-cal-head button,.bm-cal-grid button{border:0;background:transparent;color:inherit;cursor:pointer;border-radius:7px;padding:7px}
.bm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.bm-cal-dow{font-size:12px;opacity:.65;padding:5px 0}
.bm-cal-grid button:hover{background:#4169d8;color:#fff}

/* v1.0.5e - Home monthly saldo */
.grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.stat b.neg{color:#e25555}
.stat b.zero{color:var(--text)}
.stat b.pos{color:#43b66b}
@media(max-width:1000px){
    .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
    .grid{grid-template-columns:1fr}
}

/* v1.0.5f - Home totals odvojeno po valutama */
.currency-totals{display:flex;flex-direction:column;gap:5px;margin-top:6px}
.currency-totals b{display:block}
.currency-totals small{font-size:.55em;font-weight:600;opacity:.72}
.currency-totals b.neg{color:#e25555}
.currency-totals b.zero{color:var(--text)}
.currency-totals b.pos{color:#43b66b}

/* v1.0.5i - report totals by currency */
.report-total-grid{margin-top:14px}
.report-total-card h3{margin-top:0}
.report-total-lines{display:flex;flex-direction:column;gap:8px}
.report-total-lines>div{display:flex;justify-content:space-between;gap:18px;align-items:baseline}
.report-total-lines b{font-variant-numeric:tabular-nums;text-align:right}
.report-total-lines b.neg{color:#e25555}
.report-total-lines b.zero{color:var(--text)}
.report-total-lines b.pos{color:#43b66b}

/* v1.0.5j - zebra rows in all Reports tables */
.report-table tbody tr:nth-child(even) td{background:rgba(100,116,139,.065)}
/* Existing balance/status colors override zebra shading */
.report-table tbody tr td.neg{background:#f9dfdc}
.report-table tbody tr td.pos{background:#d8f3df}
.report-table tbody tr:nth-child(even) td.zero{background:rgba(100,116,139,.065)}
html[data-theme="dark"] .report-table tbody tr:nth-child(even) td{background:rgba(255,255,255,.035)}
html[data-theme="dark"] .report-table tbody tr td.neg{background:rgba(190,55,45,.18)}
html[data-theme="dark"] .report-table tbody tr td.pos{background:rgba(50,160,90,.18)}
html[data-theme="dark"] .report-table tbody tr:nth-child(even) td.zero{background:rgba(255,255,255,.035)}

/* v1.0.5k - zebra redovi u Zaduženjima i Uplatama */
.history-table tbody tr:nth-child(even) td{
    background:rgba(100,116,139,.065);
}
html[data-theme="dark"] .history-table tbody tr:nth-child(even) td{
    background:rgba(255,255,255,.035);
}

/* v1.0.5l - Home: narrow client card + collection rate */
.grid{
    grid-template-columns:minmax(120px,.62fr) repeat(4,minmax(0,1fr));
}
.stat-rate b{
    font-variant-numeric:tabular-nums;
}
@media(max-width:1250px){
    .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:850px){
    .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
    .grid{grid-template-columns:1fr}
}

.recovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.recovery-grid code{display:block;padding:10px;border:1px solid var(--line,#ccc);border-radius:8px;text-align:center;font-size:1.05rem}.button-link{display:inline-block;padding:10px 14px;border-radius:8px;text-decoration:none;background:#222;color:#fff}@media(max-width:600px){.recovery-grid{grid-template-columns:1fr}}

/* Reports summary cards - explicit override */
.report-total-grid,
.earnings-total-grid{
    display:grid !important;
    grid-template-columns:repeat(3,minmax(260px,1fr)) !important;
    gap:18px !important;
    width:100% !important;
}
.report-total-grid > .card,
.earnings-total-grid > .card{
    min-width:0 !important;
    width:auto !important;
}
.earnings-total-grid .stat b{
    white-space:nowrap !important;
}
@media(max-width:1050px){
    .report-total-grid,
    .earnings-total-grid{
        grid-template-columns:repeat(2,minmax(260px,1fr)) !important;
    }
}
@media(max-width:700px){
    .report-total-grid,
    .earnings-total-grid{
        grid-template-columns:1fr !important;
    }
}


/* v1.0.7f edit Server/Klijent form alignment */
.edit-entity-form{
    align-items:flex-start;
}
.edit-entity-form > button,
.edit-entity-form > a{
    margin-top:27px;
}
.edit-entity-form .currency-edit-field small{
    max-width:300px;
}


/* v1.0.7f cancel button */
.btn-danger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#dc3545;
    color:#fff;
    text-decoration:none;
    border:1px solid #dc3545;
}
.btn-danger:hover{
    background:#c82333;
    border-color:#bd2130;
    color:#fff;
}


/* v1.0.7f equal edit action buttons */
.edit-entity-form > button,
.edit-entity-form > .btn-danger{
    box-sizing:border-box;
    min-height:50px;
}
.btn-danger{
    border:0;
}
.btn-danger:hover{
    border:0;
}


/* v1.0.7f blue save button hover */
.edit-entity-form > button:hover{
    filter:brightness(.88);
}


/* v1.0.7f global action button consistency */
button,
.btn{
    box-sizing:border-box;
}

button:hover,
.btn:not(.btn-danger):hover{
    filter:brightness(.88);
}

.btn-danger{
    box-sizing:border-box;
    min-height:50px;
    border:0;
}
.btn-danger:hover{
    filter:brightness(.88);
    border:0;
}

/* Edit actions: Save and Cancel must be exactly the same height */
.edit-entity-form > button,
.edit-entity-form > .btn-danger{
    height:50px;
    min-height:50px;
    padding-top:0;
    padding-bottom:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}


/* v1.0.7f button size correction:
   keep original blue button size and make Cancel match it */
.edit-entity-form > button,
.edit-entity-form > .btn-danger{
    height:auto;
    min-height:0;
    padding:10px 16px;
    line-height:1.2;
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}


/* v1.0.7f uniform button sizing */
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.btn{
    box-sizing:border-box;
    min-height:0;
    height:auto;
    padding:10px 16px;
    line-height:1.2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

/* Keep global hover feedback consistent */
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
.btn:hover{
    filter:brightness(.88);
}


/* Obračun module */
aside .nav-obracun{margin:0;padding:0;border:0;background:transparent}
aside .nav-obracun>summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:100%;box-sizing:border-box;padding:10px 4px;margin:0;border-radius:10px;color:inherit;font-weight:400;overflow:hidden}
aside .nav-obracun>summary::-webkit-details-marker{display:none}
aside .nav-obracun>summary::marker{content:""}
aside .nav-obracun>summary:hover,aside .nav-obracun[open]>summary{background:#ffffff18}
aside .nav-obracun-icon{display:block;font-size:18px;line-height:1;font-weight:400}
aside .nav-obracun-label{display:inline-block;font-size:11px;line-height:1.2;margin:4px 0 0;font-weight:400;white-space:nowrap}
aside .nav-obracun-arrow{display:inline-block;width:0;height:0;margin-top:3px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid currentColor;opacity:.75;transform:rotate(0deg);transition:transform .15s ease}
aside .nav-obracun[open] .nav-obracun-arrow{transform:rotate(90deg)}
aside .nav-sub-obracun{margin-bottom:4px!important}
.obracun-note{padding:12px 14px;border:1px solid var(--line,#d7dce3);border-radius:10px;margin:12px 0}
.obracun-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:14px 0}
.obracun-result-grid .card{margin:0}
.obracun-result-grid b{display:block;font-size:18px;margin-top:5px;word-break:break-word}
.obracun-ok{font-weight:700}.obracun-warn{font-weight:700}
.obracun-file{max-width:460px}
.obracun-final{font-size:18px;font-weight:700;max-width:240px}
.obracun-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.obracun-small{font-size:13px}

/* Obračun write confirmation */
.obracun-confirm{border:1px solid #dc3545}
.obracun-success{border-color:#2f9e44}
.obracun-actions form{margin:0}


/* Obračun duplicate charge warning */
.obracun-duplicate-alert{
    margin:12px 0 18px;
    padding:16px 18px;
    border:2px solid #dc3545;
    border-radius:12px;
    background:rgba(220,53,69,.12);
    color:#dc3545;
    font-weight:700;
}
.obracun-duplicate-alert .obracun-duplicate-title{
    display:block;
    font-size:18px;
    margin-bottom:6px;
}
.obracun-duplicate-alert .obracun-duplicate-row{
    display:block;
    font-size:17px;
    color:inherit;
}

/* Unified Billing Manager date picker */
.bm-date-wrap{
    position:relative;
    display:inline-flex;
    align-items:center;
    width:100%;
    max-width:220px;
}
.bm-date-wrap .bm-date{
    width:100%;
    min-width:150px;
    padding-right:44px;
}
.bm-cal-btn{
    position:absolute;
    right:5px;
    top:50%;
    transform:translateY(-50%);
    width:34px;
    height:34px;
    min-height:34px;
    padding:0;
    border:0;
    border-radius:8px;
    background:transparent;
    color:var(--text,#1f2937);
    font-size:20px;
    line-height:1;
    z-index:2;
}
.bm-cal-btn:hover{background:rgba(127,127,127,.12);filter:none}
.bm-calendar{
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    z-index:1000;
    width:310px;
    max-width:min(310px,calc(100vw - 32px));
    padding:14px;
    border:1px solid var(--line,#d7dce3);
    border-radius:14px;
    background:var(--card,#fff);
    color:var(--text,#1f2937);
    box-shadow:0 14px 38px rgba(0,0,0,.20);
}
.bm-cal-head{
    display:grid;
    grid-template-columns:38px 1fr 38px;
    align-items:center;
    gap:8px;
    margin-bottom:10px;
}
.bm-cal-head strong{text-align:center;font-size:16px}
.bm-cal-nav{
    width:38px;height:38px;min-height:38px;padding:0;border:0;border-radius:9px;
    background:transparent;color:inherit;font-size:28px;line-height:1;
}
.bm-cal-nav:hover{background:rgba(127,127,127,.12);filter:none}
.bm-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;align-items:center}
.bm-cal-dow{text-align:center;font-size:12px;font-weight:700;color:var(--muted,#6b7280);padding:4px 0 6px}
.bm-cal-empty{height:34px}
.bm-cal-day{
    width:34px;height:34px;min-height:34px;padding:0;margin:auto;
    border:0;border-radius:9px;background:transparent;color:inherit;font-size:14px;
}
.bm-cal-day:hover{background:rgba(66,102,214,.13);filter:none}
.bm-cal-day.is-today{outline:1px solid #4266d6;outline-offset:-2px}
.bm-cal-day.is-selected{background:#4266d6;color:#fff;font-weight:700;outline:none}
.bm-cal-foot{display:flex;justify-content:space-between;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line,#d7dce3)}
.bm-cal-foot button{min-height:34px;padding:7px 11px;font-size:13px}
@media (max-width:520px){
    .bm-calendar{left:auto;right:0;width:290px}
}


/* v1.0.7f unified confirmation dialogs */
.bm-modal[hidden]{display:none!important}
.bm-modal{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.52);display:flex;align-items:center;justify-content:center;padding:20px}
.bm-modal-card{width:min(560px,100%);background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.bm-modal-card h3{margin:0 0 12px}.bm-modal-card p{margin:0 0 12px}
.bm-delete-details{line-height:1.55;margin-top:8px}.bm-delete-note{margin-top:6px}
.bm-confirm-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.bm-confirm-actions form{margin:0;display:flex}
.bm-confirm-btn{box-sizing:border-box!important;min-width:150px!important;height:40px!important;min-height:40px!important;padding:9px 16px!important;line-height:20px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;vertical-align:middle!important}
@media(max-width:520px){.bm-confirm-actions{display:grid;grid-template-columns:1fr}.bm-confirm-btn{width:100%!important;min-width:0!important}.bm-confirm-actions form{width:100%}.bm-confirm-actions form .bm-confirm-btn{width:100%!important}}


/* v1.0.9a - GGR istorija grupisana po mesecima */
.ggr-history-table .ggr-month-heading td{
    background:rgba(100,116,139,.11)!important;
    font-size:17px;
    padding-top:12px;
    padding-bottom:12px;
}
.ggr-history-table .ggr-month-separated .ggr-month-heading td{
    border-top:4px solid var(--text);
}
.ggr-history-table .ggr-month-group tr:not(.ggr-month-heading):nth-child(even) td{
    background:rgba(100,116,139,.065);
}
.ggr-history-table .ggr-month-group tr:not(.ggr-month-heading):nth-child(odd) td{
    background:var(--card);
}
html[data-theme="dark"] .ggr-history-table .ggr-month-heading td{
    background:rgba(255,255,255,.07)!important;
}
html[data-theme="dark"] .ggr-history-table .ggr-month-group tr:not(.ggr-month-heading):nth-child(even) td{
    background:rgba(255,255,255,.035);
}
html[data-theme="dark"] .ggr-history-table .ggr-month-group tr:not(.ggr-month-heading):nth-child(odd) td{
    background:var(--card);
}

/* v1.0.9b - GGR month/year picker */
.bm-month-wrap{position:relative;display:inline-flex;align-items:center;width:100%}
.bm-month-wrap .bm-month{width:100%;padding-right:44px}
.bm-month-btn{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:34px;height:34px;min-height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text,#1f2937);font-size:20px;line-height:1;z-index:2}
.bm-month-btn:hover{background:rgba(127,127,127,.12);filter:none}
.bm-month-picker{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;width:300px;max-width:min(300px,calc(100vw - 32px));padding:12px;border:1px solid var(--line,#d7dde5);border-radius:12px;background:var(--card,#fff);box-shadow:0 12px 30px rgba(0,0,0,.20)}
.bm-month-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.bm-month-head strong{font-size:18px}
.bm-month-head button,.bm-month-grid button,.bm-month-foot button{border:0;background:transparent;color:inherit;cursor:pointer;border-radius:8px}
.bm-month-head button{width:38px;height:34px;padding:0;font-size:24px;line-height:1}
.bm-month-head button:hover,.bm-month-foot button:hover{background:rgba(127,127,127,.12);filter:none}
.bm-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.bm-month-cell{min-height:42px;padding:8px 6px;font-size:14px}
.bm-month-cell:hover{background:#4169d8;color:#fff;filter:none}
.bm-month-cell.is-selected{background:#4169d8;color:#fff;font-weight:700}
.bm-month-cell.is-current:not(.is-selected){outline:1px solid #4169d8;outline-offset:-2px}
.bm-month-foot{display:flex;justify-content:space-between;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line,#d7dde5)}
.bm-month-foot button{padding:7px 9px;font-size:13px}
html[data-theme="dark"] .bm-month-picker{background:#192029;border-color:#3b4552}

/* v1.0.9o - GGR comparison */
.ggr-check-table td,.ggr-check-table th{vertical-align:middle}
.ggr-check-table .ggr-check-input{min-width:150px;width:100%;max-width:220px}
.ggr-check-result{font-weight:800;white-space:nowrap}
.ggr-check-ok{color:var(--green);background:var(--greenbg);font-weight:800}
.ggr-check-diff{color:var(--red);background:var(--redbg);font-weight:800}
.ggr-check-currency{color:var(--muted);font-weight:600}
html[data-theme=dark] .ggr-check-ok{background:rgba(50,160,90,.18)}
html[data-theme=dark] .ggr-check-diff{background:rgba(190,55,45,.18)}
@media(max-width:650px){.ggr-check-table .ggr-check-input{min-width:130px}}

/* v1.0.10 - saved GGR comparison snapshots */
.ggr-check-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.ggr-check-history-separator{border-top:4px solid var(--line);margin:30px 0 0}
.ggr-check-history-card{
    background-color:var(--card);
    background-image:repeating-linear-gradient(135deg,rgba(100,116,139,.045) 0,rgba(100,116,139,.045) 8px,transparent 8px,transparent 18px);
}
.ggr-check-history-list{display:grid;gap:10px}
.ggr-check-history-entry{padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card)}
.ggr-check-history-entry>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;cursor:pointer}
.ggr-check-history-entry>summary::-webkit-details-marker{display:none}
.ggr-check-history-entry>summary:hover{background:rgba(100,116,139,.08)}
.ggr-check-history-chevron{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s ease;margin-right:4px;flex:0 0 auto}
.ggr-check-history-entry[open] .ggr-check-history-chevron{transform:rotate(225deg)}
.ggr-check-history-body{padding:0 15px 15px;border-top:1px solid var(--line)}
.ggr-check-history-body .tablewrap{margin-top:12px}
.ggr-check-history-actions{display:flex;justify-content:flex-end;margin-top:12px}
.ggr-check-history-actions form{margin:0}
html[data-theme=dark] .ggr-check-history-card{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 8px,transparent 8px,transparent 18px)}
@media(prefers-color-scheme:dark){html[data-theme=auto] .ggr-check-history-card{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0,rgba(255,255,255,.025) 8px,transparent 8px,transparent 18px)}}

/* Billing 1.0.11 */
.formrow label.bm-check-label {display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;align-self:center;}
.formrow label.bm-check-label input[type=checkbox] {width:18px;height:18px;min-width:18px;margin:0;flex:none;}
button:disabled {opacity:.55;cursor:not-allowed;}


/* v1.0.11c - compact navigation/header cleanup */
aside a.brand-home{
    font-size:24px;
    font-weight:800;
    text-align:center;
    padding:8px;
    line-height:1.2;
    border-radius:10px;
}
aside a.brand-home:hover{
    background:#ffffff18;
}

/* App title removed from top bar; account menu stays on the right. */
.top{
    justify-content:flex-end;
}

/* Username dropdown / Logout */
.top .user-menu{
    position:relative;
    margin:0;
    padding:0;
    border:0;
}
.top .user-menu > summary{
    list-style:none;
    display:flex;
    align-items:center;
    gap:8px;
    padding:8px 10px;
    margin:0;
    border-radius:8px;
    cursor:pointer;
    font-weight:600;
    user-select:none;
}
.top .user-menu > summary::-webkit-details-marker{display:none}
.top .user-menu > summary::marker{content:""}
.top .user-menu > summary:hover,
.top .user-menu[open] > summary{
    background:rgba(127,127,127,.10);
}
.top .user-menu-arrow{
    width:0;
    height:0;
    border-left:4px solid transparent;
    border-right:4px solid transparent;
    border-top:5px solid currentColor;
    opacity:.7;
    transition:transform .15s ease;
}
.top .user-menu[open] .user-menu-arrow{
    transform:rotate(180deg);
}
.top .user-menu-dropdown{
    position:absolute;
    top:calc(100% + 7px);
    right:0;
    z-index:5000;
    min-width:140px;
    padding:6px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--card);
    color:var(--text);
    box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.top .user-menu-dropdown a{
    display:block;
    padding:9px 11px;
    border-radius:7px;
    text-decoration:none;
    white-space:nowrap;
}
.top .user-menu-dropdown a:hover{
    background:rgba(127,127,127,.12);
}
@media(max-width:650px){
    .top .user-menu > summary{padding:8px 6px}
    .top .user-menu-dropdown{min-width:125px}
}
