/*
Theme Name: TodayCase Ver 0.1
Theme URI: https://todaycase.in/
Author: Pro Next Ai
Description: Professional application shell and visual system for the TodayCase Court Case Information System. Designed to style all TodayCase plugin pages, including New Case, Case Diary, Updt Me, Today/Tomorrow/Upcoming and Report.
Version: 0.3
Requires at least: 6.0
Tested up to: 6.9
License: GPL-2.0-or-later
Text Domain: todaycase
*/

:root{
 --tc-navy:#0b3152;
 --tc-blue:#164d76;
 --tc-blue2:#236b93;
 --tc-gold:#efc44f;
 --tc-gold2:#f5d56f;
 --tc-ink:#173b5d;
 --tc-muted:#64788a;
 --tc-bg:#f3f7fa;
 --tc-card:#ffffff;
 --tc-border:#d7e2ea;
 --tc-shadow:0 12px 32px rgba(11,49,82,.10);
 --tc-radius:18px;
}
html,body{margin:0!important;padding:0!important;background:var(--tc-bg)!important;color:var(--tc-ink);overflow-x:hidden!important}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.45}
#wpadminbar{display:none!important}
.site-header,.site-footer,.site-navigation,.main-navigation,.entry-header,.page-header,.site-title,.entry-title{display:none!important}
.site-content,.content-area,.site-main,.entry-content{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
a{color:inherit}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(239,196,79,.65)!important;outline-offset:2px!important}

/* Application header: plugin owns markup, theme owns visual treatment. */
.tcm-shell{min-height:100vh!important;background:var(--tc-bg)!important;color:var(--tc-ink)!important}
.tcm-app-header{position:relative!important;top:auto!important;min-height:96px!important;padding:18px clamp(18px,4vw,64px)!important;box-sizing:border-box!important;background:linear-gradient(120deg,var(--tc-navy) 0%,var(--tc-blue) 62%,var(--tc-blue2) 100%)!important;border-bottom:1px solid rgba(255,255,255,.15)!important;box-shadow:0 8px 24px rgba(7,36,61,.15)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important}
.tcm-brand-wrap{display:flex!important;align-items:center!important;gap:14px!important;color:#fff!important;text-decoration:none!important;min-width:0!important}
.tcm-brand-mark{width:58px!important;height:58px!important;flex:0 0 58px!important;border-radius:15px!important;background:#fff url('assets/todaycase-logo-2.svg') center/contain no-repeat!important;box-shadow:0 7px 18px rgba(0,0,0,.18)!important;color:transparent!important;font-size:0!important;overflow:hidden!important}
.tcm-brand-main{font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(27px,3vw,46px)!important;line-height:1!important;font-weight:700!important;letter-spacing:.1px!important}
.tcm-brand-main span{color:#fff!important}.tcm-brand-main strong{color:var(--tc-gold)!important;font-weight:700!important}
.tcm-brand-subtitle{margin-top:7px!important;color:#e2edf5!important;font-size:clamp(11px,1.15vw,16px)!important;letter-spacing:.45px!important}
.tcm-header-user{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.tcm-user-chip{color:#fff!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:999px!important;padding:9px 13px!important;font-weight:800!important}
.tcm-header-logout,.tcm-login-button{background:var(--tc-gold)!important;color:var(--tc-navy)!important;border:1px solid var(--tc-gold)!important;border-radius:10px!important;padding:10px 16px!important;font-weight:900!important;text-decoration:none!important;cursor:pointer!important}

/* Main navigation */
.tcm-menu-shell{position:sticky!important;top:0!important;z-index:100090!important;background:#092b47!important;box-shadow:0 6px 18px rgba(7,36,61,.18)!important}
.tcm-nav{background:#092b47!important;border-bottom:3px solid var(--tc-gold)!important;min-height:58px!important;display:flex!important;align-items:stretch!important;justify-content:center!important;gap:2px!important;padding:0 12px!important}
.tcm-top-link,.tcm-nav-group-title{display:flex!important;align-items:center!important;justify-content:center!important;min-height:58px!important;padding:0 15px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#fff!important;text-decoration:none!important;font-size:14px!important;font-weight:900!important;letter-spacing:.25px!important;white-space:nowrap!important}
.tcm-top-link:hover,.tcm-top-link.is-active,.tcm-nav-group-title:hover,.tcm-nav-group.tcm-expanded .tcm-nav-group-title{background:#16466b!important;color:var(--tc-gold)!important}
.tcm-nav-symbol{margin-right:7px!important;font-size:16px!important}
.tcm-nav-sub{background:#fff!important;border:1px solid var(--tc-border)!important;border-top:3px solid var(--tc-gold)!important;box-shadow:0 16px 32px rgba(11,49,82,.16)!important;border-radius:0 0 12px 12px!important}
.tcm-nav-sub a{color:var(--tc-ink)!important;text-decoration:none!important;font-weight:800!important}
.tcm-nav-sub a:hover{background:#eef5f9!important;color:#0b4e78!important}

.tcm-upcoming{background:#061f35!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.08)!important;min-height:44px!important}
.tcm-upcoming b{background:var(--tc-gold)!important;color:var(--tc-navy)!important}
.tcm-date-link:hover,.tcm-date-link:focus{color:var(--tc-gold)!important}

/* WordPress content wrapper: preserve plugin-rendered page content. */
.site-content, .content-area, .site-main { display:block!important; visibility:visible!important; }

/* Shared application surfaces */
.tcm-main{max-width:1540px!important;margin:0 auto!important;padding:26px clamp(12px,2.2vw,30px) 70px!important}
.tcm-main h1,.tcm-main h2,.tcm-main h3,.tcm-main h4{color:var(--tc-ink)}
.tcm-panel,.tcm-card,.tcm-case-detail,.tcm-lock,.tcm-login-required{background:var(--tc-card)!important;border:1px solid var(--tc-border)!important;border-radius:var(--tc-radius)!important;box-shadow:var(--tc-shadow)!important}
.tcm-panel{padding:22px!important}
.tcm-card{padding:18px!important}
.tcm-filters input,.tcm-filters select,.tcm-filters button,.tcm-filters a,.tcm-form-grid input,.tcm-form-grid select,.tcm-panel textarea,.tcm-panel input,.tcm-panel select{border:1px solid #cbd9e3!important;border-radius:11px!important;background:#fff!important;color:#173b5d!important;box-sizing:border-box}
.tcm-btn{border-radius:10px!important;font-weight:900!important;box-shadow:0 5px 12px rgba(12,49,79,.10)!important;transition:transform .15s ease,box-shadow .15s ease,background .15s ease!important}
.tcm-btn:hover{transform:translateY(-1px)!important;box-shadow:0 8px 17px rgba(12,49,79,.15)!important}
.tcm-btn-gold{background:var(--tc-gold)!important;color:var(--tc-navy)!important;border-color:var(--tc-gold)!important}
.tcm-btn-light{background:#fff!important;color:var(--tc-ink)!important;border:1px solid #cbd9e3!important}
.tcm-notice{border-radius:12px!important}
.tcm-topbtn{background:var(--tc-gold)!important;color:var(--tc-navy)!important;box-shadow:0 8px 20px rgba(11,49,82,.22)!important}

/* New Case */
.tcm-new-case-builder h3{color:var(--tc-ink)!important;border-bottom-color:var(--tc-gold)!important}
.tcm-new-app-card,.tcm-adv-card,.tcm-resp-card{background:#f8fbfd!important;border-color:#d7e2ea!important;border-radius:14px!important}

/* Updt Me / hearing management */
.tcm-updt-page,.tcm-hearing-management,.tcm-hearing-page{color:var(--tc-ink)!important}
.tcm-updt-page .tcm-panel,.tcm-hearing-management .tcm-panel{border-radius:18px!important}
.tcm-updt-page table,.tcm-hearing-management table{border-collapse:separate!important;border-spacing:0!important;border:1px solid var(--tc-border)!important;border-radius:14px!important;overflow:hidden!important}
.tcm-updt-page th,.tcm-hearing-management th{background:var(--tc-navy)!important;color:#fff!important;font-weight:900!important}
.tcm-updt-page td,.tcm-hearing-management td{color:#24465f!important;background:#fff!important;border-color:#e1e9ef!important}

/* Report Centre: complements the plugin's report classes. */
.tcm-report-page{max-width:1540px!important;margin:22px auto 70px!important;padding:0 clamp(12px,2vw,28px)!important}
.tcm-report-hero{background:linear-gradient(135deg,#0b3152,#236b93)!important;border-radius:22px!important;box-shadow:0 18px 38px rgba(16,59,93,.20)!important}
.tcm-report-panel,.tcm-report-preview{border:1px solid var(--tc-border)!important;border-radius:18px!important;box-shadow:var(--tc-shadow)!important}
.tcm-report-group{border-color:var(--tc-border)!important;border-radius:15px!important}
.tcm-report-group-head{background:linear-gradient(90deg,#edf5f9,#f9fcfd)!important;text-align:left!important}
.tcm-report-table th{background:var(--tc-navy)!important;color:#fff!important}
.tcm-report-table td{color:#294762!important}
.tcm-report-fields>div{border-color:var(--tc-border)!important}

/* Case cards / lists */
.tcm-stat-card,.tcm-dashboard-card,.tcm-case-card,.tcm-list-card{border-radius:16px!important;border:1px solid var(--tc-border)!important;box-shadow:0 9px 24px rgba(19,52,82,.08)!important;background:#fff!important}
.tcm-stat-card:hover,.tcm-dashboard-card:hover,.tcm-case-card:hover,.tcm-list-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(19,52,82,.12)!important}

/* Footer */
.tcm-footer{background:#0b2f4e!important;color:#d9e6ef!important;border-top:3px solid var(--tc-gold)!important;padding:20px 16px!important;text-align:center!important;font-family:Georgia,"Times New Roman",serif!important}
.tcm-footer strong{color:#fff!important}.tcm-footer span:last-child{color:#f1d270!important;font-weight:700!important}

/* Responsive application shell */
.tcm-menu-toggle{background:var(--tc-gold)!important;color:var(--tc-navy)!important;border:0!important;border-radius:9px!important;font-weight:900!important}
@media(max-width:900px){
 .tcm-app-header{padding:14px 14px!important;min-height:80px!important}
 .tcm-brand-mark{width:48px!important;height:48px!important;flex-basis:48px!important;border-radius:12px!important}
 .tcm-brand-main{font-size:25px!important}.tcm-brand-subtitle{font-size:10px!important}
 .tcm-header-user{gap:6px!important}.tcm-user-chip{display:none!important}
 .tcm-nav{justify-content:flex-start!important;display:none!important;flex-direction:column!important;padding:8px!important}
 .tcm-nav.tcm-open{display:flex!important}
 .tcm-top-link,.tcm-nav-group-title{width:100%!important;justify-content:flex-start!important;border-radius:8px!important;min-height:46px!important}
 .tcm-nav-sub{position:static!important;border:0!important;border-left:3px solid var(--tc-gold)!important;box-shadow:none!important;border-radius:0!important}
 .tcm-report-form{flex-wrap:wrap!important}
}
@media(max-width:560px){
 .tcm-main{padding:18px 10px 55px!important}
 .tcm-brand-copy{min-width:0!important}.tcm-brand-main{font-size:22px!important}.tcm-brand-subtitle{font-size:9px!important}
 .tcm-brand-mark{width:44px!important;height:44px!important;flex-basis:44px!important}
 .tcm-header-logout,.tcm-login-button{padding:8px 11px!important;font-size:13px!important}
 .tcm-report-page{padding:0 9px!important}.tcm-report-table{min-width:1120px!important}
}


/* The TodayCase plugin has its own legacy inline footer. The theme provides the single canonical site footer, so suppress the plugin footer to prevent duplicate footers. */
.tcm-footer{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;}

/* Professional footer navigation */
.todaycase-site-footer{
    position:relative!important;
    z-index:20!important;
    background:linear-gradient(135deg,#071f35 0%,#0b3152 58%,#164d76 100%)!important;
    color:#dce9f2!important;
    border-top:3px solid var(--tc-gold)!important;
    box-shadow:0 -10px 30px rgba(7,31,53,.10)!important;
    margin-top:40px!important;
}
.tc-footer-inner{
    max-width:1540px!important;
    margin:0 auto!important;
    padding:24px clamp(16px,3vw,48px)!important;
    display:grid!important;
    grid-template-columns:minmax(180px,1fr) minmax(300px,2fr) minmax(190px,1fr)!important;
    gap:24px!important;
    align-items:center!important;
    box-sizing:border-box!important;
}
.tc-footer-brand{text-align:left!important}
.tc-footer-title{font-family:Georgia,"Times New Roman",serif!important;color:#fff!important;font-size:25px!important;font-weight:800!important;line-height:1.1!important}
.tc-footer-subtitle{margin-top:5px!important;color:#b9d0df!important;font-size:12px!important}
.tc-footer-nav{text-align:center!important}
.tc-footer-menu{list-style:none!important;margin:0!important;padding:0!important;display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px 18px!important}
.tc-footer-menu li{list-style:none!important;margin:0!important;padding:0!important}
.tc-footer-menu a{display:inline-block!important;color:#f4f8fb!important;text-decoration:none!important;font-size:13px!important;font-weight:800!important;padding:7px 2px!important;border-bottom:2px solid transparent!important;transition:color .15s ease,border-color .15s ease,transform .15s ease!important}
.tc-footer-menu a:hover,.tc-footer-menu a:focus{color:var(--tc-gold)!important;border-bottom-color:var(--tc-gold)!important;transform:translateY(-1px)!important}
.tc-footer-meta{text-align:right!important;color:#dce9f2!important;font-size:12px!important;line-height:1.55!important}
.tc-footer-meta strong{color:var(--tc-gold)!important;font-weight:900!important}
.tc-footer-copy{margin-top:5px!important;color:#a9c0cf!important;font-size:11px!important}
@media(max-width:900px){
 .tc-footer-inner{grid-template-columns:1fr!important;text-align:center!important;gap:12px!important}
 .tc-footer-brand,.tc-footer-meta{text-align:center!important}
 .tc-footer-menu{gap:5px 14px!important}
}
@media(max-width:560px){
 .todaycase-site-footer{margin-top:25px!important}
 .tc-footer-inner{padding:20px 12px!important}
 .tc-footer-title{font-size:22px!important}
 .tc-footer-menu a{font-size:12px!important}
}
