/* Module launcher: compact dashboard surfaces and a clear, consistent action. */
#studio-home { --module-accent:#3c8dbc; --module-soft:rgba(60,141,188,.12); }
#studio-home [data-home-module="api-tool"],
#studio-home [data-home-module="java-tools"] { --module-accent:#9778ca; --module-soft:rgba(151,120,202,.14); }
#studio-home [data-home-module="accounting"],
#studio-home [data-home-module="usage"],
#studio-home [data-home-module="timesheets"] { --module-accent:#28999c; --module-soft:rgba(40,153,156,.12); }
body[data-theme] #studio-home .row.g-4 { --bs-gutter-x:18px; --bs-gutter-y:18px; row-gap:0; }
body[data-theme] #studio-home .studio-card {
    position:relative; overflow:hidden; padding:20px 18px 14px;
    border:1px solid var(--home-border) !important; border-top:3px solid var(--module-accent) !important;
    border-radius:8px !important; background:var(--home-surface) !important;
    box-shadow:0 3px 12px rgba(15,35,55,.045); backdrop-filter:none;
    transition:box-shadow .16s ease,transform .16s ease;
}
body[data-theme] #studio-home .studio-card:hover,
body[data-theme] #studio-home .studio-card:focus-within {
    box-shadow:0 8px 20px rgba(15,35,55,.12); transform:translateY(-2px);
}
body[data-theme] #studio-home .studio-card h4 {
    font-size:20px; font-weight:700; line-height:1.3; letter-spacing:-.25px;
    gap:14px; margin-bottom:16px; min-width:0; overflow-wrap:anywhere;
}
body[data-theme] #studio-home .home-sysimple-module .studio-card h4 { font-size:24px; }
body[data-theme] #studio-home .studio-card h4 i {
    width:56px; height:56px; border-radius:10px; font-size:30px; line-height:1;
    background:var(--module-soft); color:var(--module-accent); border:1px solid var(--module-soft);
}
body[data-theme] #studio-home .studio-card p { font-size:14px; margin-bottom:20px; line-height:1.6; }
body[data-theme] #studio-home .studio-card a.home-launch {
    display:flex; align-items:center; justify-content:space-between; gap:20px;
    align-self:stretch; min-height:36px; padding:8px 12px; border-radius:5px;
    background:var(--module-soft) !important; border:1px solid transparent !important;
    color:var(--home-text) !important; font-size:13px; font-weight:600;
}
body[data-theme] #studio-home .studio-card a.home-launch::after { content:'→'; color:var(--module-accent); font-size:18px; line-height:1; }
body[data-theme] #studio-home .studio-card a.home-launch:hover,
body[data-theme] #studio-home .studio-card a.home-launch:focus-visible {
    background:#287caf !important; border-color:#287caf !important; color:#fff !important;
}
body[data-theme] #studio-home .studio-card a.home-launch:hover::after,
body[data-theme] #studio-home .studio-card a.home-launch:focus-visible::after { color:#fff; }
body[data-theme] #studio-home .studio-card a.home-launch:focus-visible { outline:3px solid var(--home-primary); outline-offset:3px; }
#studio-home .technical-badge { align-self:flex-start; border:0; border-radius:4px; padding:4px 8px; background:var(--module-soft); color:var(--home-text); margin:0 0 10px; font-size:11px; }
#studio-home .technical-note { font-size:11px; line-height:1.5; margin-bottom:12px; }
body[data-theme] #studio-home .home-legacy-link a.home-launch { align-self:center; }
@media(prefers-reduced-motion:reduce) { body[data-theme] #studio-home .studio-card { transition:none; transform:none; } }
/* Keep launch labels readable against every dark surface, including shared button overrides. */
body[data-theme="dark"] #studio-home#studio-home .studio-card a.home-launch,
body[data-theme="sysimple"] #studio-home#studio-home .studio-card a.home-launch { color:#ebf4ff !important; }

/* Primary Sysimple entry points occupy the first row in document order. */
#studio-home .home-sysimple-module {
    --module-accent:#00a65a;
    --module-soft:rgba(0,166,90,.12);
}
body[data-theme="dark"] #studio-home .home-sysimple-module,
body[data-theme="sysimple"] #studio-home .home-sysimple-module {
    --module-accent:#42ce8b;
    --module-soft:rgba(66,206,139,.15);
}
body[data-theme] #studio-home .home-sysimple-module .studio-card {
    background:linear-gradient(var(--module-soft),var(--module-soft)),var(--home-surface) !important;
}
body[data-theme] #studio-home .home-sysimple-module .studio-card a.home-launch:hover,
body[data-theme] #studio-home .home-sysimple-module .studio-card a.home-launch:focus-visible {
    background:#008548 !important;
    border-color:#008548 !important;
}

@media(max-width:575px) { body[data-theme] #studio-home .studio-card h4 i { width:48px; height:48px; font-size:26px; } }
@media(max-width:575px) {
    body[data-theme] #studio-home .studio-card h4 { font-size:18px; gap:12px; }
    body[data-theme] #studio-home .home-sysimple-module .studio-card h4 { font-size:21px; }
}

/* Module artwork has its own silhouette: no secondary tile, frame or background. */
body[data-theme] #studio-home .studio-card h4 > i,
body[data-theme] #studio-home .studio-card h4 > img {
 width:72px !important; height:72px !important; min-width:72px; flex:0 0 72px;
 font-size:48px; object-fit:contain; padding:0 !important; background:transparent !important;
 border:0 !important; border-radius:0 !important; box-shadow:none !important;
}
@media(max-width:575px){
 body[data-theme] #studio-home .studio-card h4 > i,
 body[data-theme] #studio-home .studio-card h4 > img {width:60px !important;height:60px !important;min-width:60px;flex-basis:60px;font-size:40px;}
}
