:root{
    --tcj-jade-950:#0a3328;
    --tcj-jade-900:#0f4c3a;
    --tcj-jade-800:#145c47;
    --tcj-jade-700:#1b6b52;
    --tcj-jade-600:#2a7d63;
    --tcj-jade-500:#3f9277;
    --tcj-jade-200:#b9d9cd;
    --tcj-jade-100:#ddefe8;
    --tcj-jade-50:#f0f8f5;

    --tcj-gold-800:#8d6c11;
    --tcj-gold-700:#a98518;
    --tcj-gold-600:#c9a227;
    --tcj-gold-500:#d8b740;
    --tcj-gold-300:#ead58a;
    --tcj-gold-200:#f3e7b3;
    --tcj-gold-100:#faf3d6;

    --tcj-ink:#1d2a25;
    --tcj-muted:#65736c;
    --tcj-surface:#ffffff;
    --tcj-surface-soft:#f7f8f4;
    --tcj-border:#d6ded9;
    --tcj-danger:#b42318;
    --tcj-success:#1b6b52;
    --tcj-shadow:0 10px 30px rgba(15,76,58,.08);
    --tcj-radius:16px;
}

.tcj-wrap{
    direction:rtl;
    max-width:1500px;
    margin:20px 0 46px;
    color:var(--tcj-ink);
    font-family:Tahoma,"Segoe UI",Arial,sans-serif;
}

.tcj-wrap *{box-sizing:border-box}

.tcj-header{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
    margin:0 0 18px;
    padding:22px 24px;
    border:1px solid rgba(201,162,39,.38);
    border-radius:var(--tcj-radius);
    background:
        radial-gradient(circle at 10% 0%, rgba(201,162,39,.17), transparent 32%),
        linear-gradient(135deg,var(--tcj-jade-950),var(--tcj-jade-800));
    box-shadow:0 14px 34px rgba(10,51,40,.16);
    color:#fff;
}

.tcj-header:after{
    content:"";
    position:absolute;
    left:-55px;
    bottom:-75px;
    width:190px;
    height:190px;
    border:22px solid rgba(201,162,39,.12);
    border-radius:50%;
    pointer-events:none;
}

.tcj-header h1{
    position:relative;
    z-index:1;
    margin:0;
    color:#fff;
    font-size:25px;
    font-weight:800;
    letter-spacing:-.2px;
}

.tcj-header p{
    position:relative;
    z-index:1;
    margin:6px 0 0;
    color:#dcebe5;
    font-size:13px;
}

.tcj-header .button{
    position:relative;
    z-index:1;
    min-height:38px;
    padding:5px 17px!important;
    border-color:var(--tcj-gold-500)!important;
    border-radius:10px!important;
    background:#fff!important;
    color:var(--tcj-jade-900)!important;
    font-weight:800;
    box-shadow:none!important;
}

.tcj-header .button:hover{
    border-color:var(--tcj-gold-600)!important;
    background:var(--tcj-gold-100)!important;
    color:var(--tcj-jade-950)!important;
}

.tcj-card{
    background:var(--tcj-surface);
    border:1px solid var(--tcj-border);
    border-radius:var(--tcj-radius);
    box-shadow:var(--tcj-shadow);
    margin:0 0 18px;
}

.tcj-primary.button-primary,
.tcj-wrap .button.button-primary{
    min-height:38px;
    padding:4px 18px;
    border:1px solid var(--tcj-jade-900)!important;
    border-radius:10px!important;
    background:linear-gradient(180deg,var(--tcj-jade-700),var(--tcj-jade-900))!important;
    color:#fff!important;
    font-weight:800;
    text-shadow:none!important;
    box-shadow:0 4px 10px rgba(15,76,58,.16)!important;
}

.tcj-primary.button-primary:hover,
.tcj-wrap .button.button-primary:hover{
    border-color:var(--tcj-gold-600)!important;
    background:linear-gradient(180deg,var(--tcj-jade-600),var(--tcj-jade-800))!important;
    box-shadow:0 6px 14px rgba(15,76,58,.22)!important;
}

.tcj-wrap .button:not(.button-primary){
    min-height:36px;
    border-color:#c8d4ce;
    border-radius:9px;
    color:var(--tcj-jade-900);
}

.tcj-wrap .button:not(.button-primary):hover{
    border-color:var(--tcj-gold-600);
    color:var(--tcj-jade-950);
    background:var(--tcj-gold-100);
}

.tcj-filter,
.tcj-new-selector{
    padding:18px;
    display:grid;
    grid-template-columns:repeat(5,minmax(150px,1fr));
    gap:14px;
    align-items:end;
    border-top:4px solid var(--tcj-gold-600);
}

.tcj-new-selector{
    grid-template-columns:minmax(240px,1fr) minmax(220px,.7fr) auto;
    max-width:1050px;
}

.tcj-filter label,
.tcj-field label{
    display:block;
    margin-bottom:7px;
    color:var(--tcj-jade-950);
    font-size:12px;
    font-weight:800;
}

.tcj-wrap input[type="text"],
.tcj-wrap input[type="number"],
.tcj-wrap select,
.tcj-wrap textarea{
    width:100%;
    max-width:none;
    border:1px solid #cbd7d1;
    border-radius:10px;
    background:#fff;
    color:var(--tcj-ink);
    transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.tcj-wrap input[type="text"],
.tcj-wrap input[type="number"],
.tcj-wrap select{
    min-height:39px;
    padding:7px 10px;
}

.tcj-wrap textarea{
    padding:10px 12px;
    line-height:1.75;
    resize:vertical;
}

.tcj-wrap input:hover,
.tcj-wrap select:hover,
.tcj-wrap textarea:hover{
    border-color:var(--tcj-jade-500);
}

.tcj-wrap input:focus,
.tcj-wrap select:focus,
.tcj-wrap textarea:focus{
    border-color:var(--tcj-gold-600)!important;
    outline:0!important;
    box-shadow:0 0 0 3px rgba(201,162,39,.15)!important;
    background:#fffef9;
}

.tcj-jalali-date{
    cursor:pointer;
    padding-left:38px!important;
    background:
        linear-gradient(#fff,#fff) padding-box,
        linear-gradient(135deg,var(--tcj-jade-700),var(--tcj-gold-600)) border-box!important;
    border:1px solid transparent!important;
    font-weight:700;
    color:var(--tcj-jade-950)!important;
}

.tcj-jalali-date:focus{
    background:
        linear-gradient(#fffef9,#fffef9) padding-box,
        linear-gradient(135deg,var(--tcj-gold-600),var(--tcj-jade-700)) border-box!important;
}

.tcj-filter-actions,
.tcj-form-actions{
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
}

.tcj-table-card{
    overflow:hidden;
    border-top:4px solid var(--tcj-jade-700);
}

.tcj-table-scroll{overflow:auto}

.tcj-table{
    width:100%;
    min-width:950px;
    border:0!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    background:#fff;
}

.tcj-table thead th{
    position:sticky;
    top:0;
    z-index:2;
    padding:12px 10px;
    border-bottom:1px solid var(--tcj-gold-300)!important;
    background:linear-gradient(180deg,#f7fbf9,var(--tcj-jade-100))!important;
    color:var(--tcj-jade-950)!important;
    font-size:12px;
    font-weight:800;
    text-align:center;
    white-space:nowrap;
}

.tcj-table tbody td{
    padding:10px 9px;
    border-bottom:1px solid #e7ece9;
    color:var(--tcj-ink);
    text-align:center;
    vertical-align:middle;
    transition:background .12s ease;
}

.tcj-table tbody tr:nth-child(even) td{
    background:#fbfcfa;
}

.tcj-table tbody tr:hover td,
.tcj-table tbody tr.tcj-row-active td{
    background:var(--tcj-gold-100)!important;
}

.tcj-table tbody tr.tcj-row-active td:first-child{
    box-shadow:inset -4px 0 0 var(--tcj-gold-600);
}

.tcj-actions{white-space:nowrap}

.tcj-actions a{
    display:inline-block;
    margin:2px 3px;
    padding:4px 8px;
    border:1px solid transparent;
    border-radius:7px;
    color:var(--tcj-jade-800);
    font-weight:700;
    text-decoration:none;
}

.tcj-actions a:hover{
    border-color:var(--tcj-gold-300);
    background:var(--tcj-gold-100);
    color:var(--tcj-jade-950);
}

.tcj-empty{
    padding:34px!important;
    color:var(--tcj-muted)!important;
    background:var(--tcj-surface-soft)!important;
    text-align:center!important;
}

.tcj-session-meta{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    overflow:hidden;
    border-top:4px solid var(--tcj-gold-600);
}

.tcj-session-meta>div{
    position:relative;
    padding:16px 18px;
    border-left:1px solid var(--tcj-border);
    background:linear-gradient(180deg,#fff,#fbfcfa);
}

.tcj-session-meta>div:last-child{border-left:0}

.tcj-session-meta>div:before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    left:0;
    height:2px;
    background:linear-gradient(90deg,transparent,var(--tcj-gold-300),transparent);
    opacity:.65;
}

.tcj-label{
    display:block;
    margin-bottom:5px;
    color:var(--tcj-muted);
    font-size:11px;
    font-weight:700;
}

.tcj-session-meta strong{
    color:var(--tcj-jade-900);
    font-size:14px;
}

.tcj-entry-table .tcj-no{width:58px}
.tcj-entry-table .tcj-student-name{min-width:220px;text-align:right!important}
.tcj-entry-table .tcj-attendance{width:145px}
.tcj-entry-table input[type=text]{width:100%;min-width:140px}

.tcj-entry-table .tcj-student-name strong{
    color:var(--tcj-ink);
    font-weight:800;
}

.tcj-entry-table .tcj-student-name small{
    display:block;
    margin-top:3px;
    color:var(--tcj-muted);
    font-size:10px;
    direction:ltr;
    text-align:right;
}

.tcj-attendance-input{
    text-align:center;
    font-weight:800;
    color:var(--tcj-jade-900)!important;
}

.tcj-help{
    padding:13px 17px;
    border-top:1px solid var(--tcj-gold-300);
    background:linear-gradient(90deg,var(--tcj-gold-100),#fffdf5);
    color:#6b561d;
    font-size:12px;
}

.tcj-help strong{color:var(--tcj-jade-900)}

.tcj-general{
    padding:18px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:17px;
    border-top:4px solid var(--tcj-gold-600);
}

.tcj-field{
    padding:14px;
    border:1px solid #e2e8e4;
    border-radius:12px;
    background:linear-gradient(180deg,#fff,#fbfcfa);
}

.tcj-field-full{grid-column:1/-1}

.tcj-minutes{
    max-width:300px;
    border-color:var(--tcj-gold-300);
    background:var(--tcj-gold-100);
}

.tcj-field small{
    display:block;
    margin-top:6px;
    color:var(--tcj-muted);
    line-height:1.6;
}

.tcj-form-actions{
    margin-top:16px;
    padding:14px 0 4px;
}

.tcj-attendance-input.tcj-invalid{
    border-color:var(--tcj-danger)!important;
    box-shadow:0 0 0 3px rgba(180,35,24,.10)!important;
    background:#fff6f5!important;
}

.tcj-print-toolbar{
    margin:0 0 15px;
    text-align:left;
}

/* پیام‌های وردپرس در محدوده صفحه */
.tcj-wrap > .notice,
.wrap.tcj-wrap .notice{
    margin:0 0 16px!important;
    border:1px solid var(--tcj-border);
    border-right-width:4px;
    border-radius:10px;
    box-shadow:none;
}

.tcj-wrap .notice-success{border-right-color:var(--tcj-jade-700)}
.tcj-wrap .notice-warning{border-right-color:var(--tcj-gold-600)}
.tcj-wrap .notice-error{border-right-color:var(--tcj-danger)}

/* هماهنگی ظاهر persian-datepicker با یشمی / طلایی */
.pwt-datepicker-container{
    direction:rtl;
    border:1px solid var(--tcj-gold-300)!important;
    border-radius:14px!important;
    box-shadow:0 12px 28px rgba(10,51,40,.18)!important;
    overflow:hidden;
}

.pwt-datepicker-container .pwt-btn,
.pwt-datepicker-container .pwt-btn-switch,
.pwt-datepicker-container .pwt-btn-next,
.pwt-datepicker-container .pwt-btn-prev{
    color:var(--tcj-jade-900)!important;
}

.pwt-datepicker-container .pwt-btn:hover,
.pwt-datepicker-container .pwt-btn-switch:hover{
    background:var(--tcj-gold-100)!important;
    color:var(--tcj-jade-950)!important;
}

.pwt-datepicker-container .pwt-date,
.pwt-datepicker-container .pwt-month,
.pwt-datepicker-container .pwt-year{
    border-radius:8px!important;
}

.pwt-datepicker-container .pwt-date:hover,
.pwt-datepicker-container .pwt-month:hover,
.pwt-datepicker-container .pwt-year:hover{
    background:var(--tcj-jade-100)!important;
    color:var(--tcj-jade-950)!important;
}

.pwt-datepicker-container .pwt-date.pwt-selected,
.pwt-datepicker-container .pwt-month.pwt-selected,
.pwt-datepicker-container .pwt-year.pwt-selected{
    background:var(--tcj-jade-700)!important;
    color:#fff!important;
}

.pwt-datepicker-container .pwt-today{
    border:1px solid var(--tcj-gold-600)!important;
    color:var(--tcj-jade-900)!important;
}

@media(max-width:1100px){
    .tcj-filter{grid-template-columns:repeat(2,minmax(180px,1fr))}
    .tcj-new-selector{grid-template-columns:1fr 1fr}
    .tcj-session-meta{grid-template-columns:1fr 1fr}
    .tcj-general{grid-template-columns:1fr}
    .tcj-field-full{grid-column:auto}
}

@media(max-width:700px){
    .tcj-wrap{margin-left:8px}
    .tcj-header{padding:18px}
    .tcj-header h1{font-size:21px}
    .tcj-filter,.tcj-new-selector,.tcj-session-meta{grid-template-columns:1fr}
    .tcj-session-meta>div{
        border-left:0;
        border-bottom:1px solid var(--tcj-border);
    }
    .tcj-filter-actions,.tcj-form-actions{
        align-items:stretch;
    }
    .tcj-filter-actions .button,
    .tcj-form-actions .button{
        text-align:center;
    }
}

@media print{
    #adminmenumain,
    #wpadminbar,
    #wpfooter,
    .update-nag,
    .notice,
    .tcj-print-hide,
    .tcj-form-actions{
        display:none!important;
    }

    #wpcontent,#wpfooter{margin-right:0!important}
    #wpbody-content{padding-bottom:0!important}

    body{background:#fff!important}

    .tcj-wrap{
        margin:0;
        max-width:none;
        color:#000;
    }

    .tcj-card{
        box-shadow:none;
        border-color:#999;
        break-inside:avoid;
    }

    .tcj-header{
        color:#000;
        background:#fff!important;
        border-color:#777;
        box-shadow:none;
    }

    .tcj-header h1,.tcj-header p{color:#000!important}

    .tcj-table-scroll{overflow:visible}
    .tcj-table{min-width:0;font-size:10px}
    .tcj-table thead th{position:static;background:#eee!important;color:#000!important}
    .tcj-table tbody td{background:#fff!important}

    input,textarea,select{
        border:0!important;
        box-shadow:none!important;
        background:transparent!important;
        color:#000!important;
    }

    .tcj-help{
        background:#fff!important;
        border-color:#aaa!important;
        color:#000!important;
    }
}


.tcj-calendar-status{
    min-height:20px;
    margin-top:7px;
    font-size:11px;
    font-weight:700;
}
.tcj-calendar-status.is-ready{color:var(--tcj-jade-700)}
.tcj-calendar-status.is-error{color:var(--tcj-danger)}


/* ===== Phase 2: Management Panel ===== */
.tcj-manager-hero{
    position:relative;
    overflow:hidden;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    margin:0 0 14px;
    padding:22px 24px;
    border:1px solid rgba(201,162,39,.38);
    border-radius:20px;
    background:
        radial-gradient(circle at 10% 0%,rgba(201,162,39,.18),transparent 30%),
        linear-gradient(135deg,var(--tcj-jade-950),var(--tcj-jade-800));
    box-shadow:0 16px 40px rgba(11,51,41,.14);
    color:#fff;
}
.tcj-manager-hero h1{margin:0;color:#fff;font-size:27px;font-weight:800}
.tcj-manager-hero p{margin:6px 0 0;color:#d8e8e1;font-size:13px}
.tcj-manager-badges{display:flex;gap:8px;flex-wrap:wrap}
.tcj-manager-badges span{
    padding:7px 11px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:999px;
    background:rgba(255,255,255,.1);
    font-size:12px;
}
.tcj-manager-tabs{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:0 0 22px;
    padding:8px;
    border:1px solid var(--tcj-border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 4px 16px rgba(15,76,58,.04);
}
.tcj-manager-tab{
    padding:9px 13px;
    border-radius:9px;
    color:var(--tcj-jade-900);
    text-decoration:none;
    font-size:13px;
    font-weight:800;
}
.tcj-manager-tab:hover{background:var(--tcj-jade-50);color:var(--tcj-jade-950)}
.tcj-manager-tab.is-active{background:var(--tcj-jade-900);color:#fff}
.tcj-manager-tab.is-gold{
    border:1px solid var(--tcj-gold-300);
    background:var(--tcj-gold-100);
    color:var(--tcj-jade-950);
}
.tcj-section-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
    flex-wrap:wrap;
    margin:20px 0 12px;
}
.tcj-section-head h2{margin:0;color:var(--tcj-jade-950);font-size:19px}
.tcj-section-head p{margin:4px 0 0;color:var(--tcj-muted);font-size:12px}
.tcj-manager-cards{
    display:grid;
    grid-template-columns:repeat(6,minmax(145px,1fr));
    gap:12px;
    margin-bottom:16px;
}
.tcj-manager-metric{
    padding:16px;
    border:1px solid var(--tcj-border);
    border-top:4px solid var(--tcj-jade-700);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--tcj-shadow);
}
.tcj-manager-metric.is-gold{border-top-color:var(--tcj-gold-600)}
.tcj-manager-metric strong{
    display:block;
    margin-bottom:4px;
    color:var(--tcj-jade-900);
    font-size:25px;
}
.tcj-manager-metric span{color:var(--tcj-muted);font-size:12px}
.tcj-manager-rule{
    padding:13px 15px;
    border-color:var(--tcj-gold-300);
    background:var(--tcj-gold-100);
    color:#68531a;
    font-size:12px;
}
.tcj-manager-filter{
    display:grid;
    grid-template-columns:repeat(5,minmax(145px,1fr));
    gap:12px;
    align-items:end;
    padding:17px;
    border-top:4px solid var(--tcj-gold-600);
}
.tcj-manager-filter label,
.tcj-student-search label{
    display:block;
    margin-bottom:6px;
    color:var(--tcj-jade-950);
    font-size:11px;
    font-weight:800;
}
.tcj-manager-table{min-width:1100px}
.tcj-subline{
    display:block;
    margin-top:2px;
    color:var(--tcj-muted);
    font-size:10px;
}
.tcj-text-cell{
    min-width:180px;
    text-align:right!important;
    white-space:normal;
}
.tcj-student-search{
    display:grid;
    grid-template-columns:minmax(280px,600px) auto;
    gap:12px;
    align-items:end;
    padding:17px;
    border-top:4px solid var(--tcj-gold-600);
}
@media(max-width:1200px){
    .tcj-manager-cards{grid-template-columns:repeat(3,1fr)}
    .tcj-manager-filter{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
    .tcj-manager-hero{border-radius:12px;padding:18px}
    .tcj-manager-cards{grid-template-columns:1fr 1fr}
    .tcj-manager-filter,.tcj-student-search{grid-template-columns:1fr}
}
@media print{
    .tcj-manager-tabs,.tcj-manager-hero,.tcj-section-head,.tcj-manager-filter,
    .tcj-manager-cards,.tcj-manager-rule{display:none!important}
}


/* ===== v1.2.0 Front-end Teacher Shortcode ===== */
.tcj-shortcode-shell{
    --tcj-front-jade-950:#0b3329;
    --tcj-front-jade-900:#0f4c3a;
    --tcj-front-jade-800:#165b47;
    --tcj-front-jade-700:#1f6d55;
    --tcj-front-jade-100:#dff0e9;
    --tcj-front-jade-50:#f3faf7;
    --tcj-front-gold-700:#9a7715;
    --tcj-front-gold-600:#c9a227;
    --tcj-front-gold-300:#e6cf7e;
    --tcj-front-gold-100:#fbf4d9;
    --tcj-front-ink:#1e2925;
    --tcj-front-muted:#6c7772;
    --tcj-front-line:#d9e1dc;
    direction:rtl;
    color:var(--tcj-front-ink);
    font-family:Tahoma,"Segoe UI",Arial,sans-serif;
    line-height:1.7;
}
.tcj-front-journal-box{
    overflow:hidden;
    border:1px solid var(--tcj-front-line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 16px 40px rgba(11,51,41,.10);
}
.tcj-front-journal-toggle{
    width:100%;
    border:0;
    padding:22px 24px;
    cursor:pointer;
    text-align:right;
    color:#fff;
    background:
        radial-gradient(circle at 10% 0%,rgba(201,162,39,.18),transparent 30%),
        linear-gradient(135deg,var(--tcj-front-jade-950),var(--tcj-front-jade-800));
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    font:inherit;
}
.tcj-front-journal-title{display:flex;align-items:center;gap:12px}
.tcj-front-journal-icon{
    width:42px;height:42px;border-radius:13px;
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--tcj-front-gold-600);color:#211b0b;
    font-size:22px;font-weight:900;
}
.tcj-front-journal-title strong{display:block;color:#fff;font-size:25px}
.tcj-front-journal-title small{display:block;margin-top:4px;color:#d9e8e1;font-size:12px}
.tcj-front-outer-chevron{color:var(--tcj-front-gold-300);font-size:24px;transition:.2s transform}
.tcj-front-journal-box.is-open .tcj-front-outer-chevron{transform:rotate(180deg)}
.tcj-front-journal-body{
    display:none;
    padding:16px;
    background:linear-gradient(180deg,#fff,#f8fbf9);
}
.tcj-front-journal-box.is-open .tcj-front-journal-body{display:block}
.tcj-front-meta{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.tcj-front-meta span{
    padding:6px 10px;border:1px solid var(--tcj-front-gold-300);
    border-radius:999px;background:var(--tcj-front-gold-100);
    color:var(--tcj-front-jade-950);font-size:11px;font-weight:700;
}
.tcj-front-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.tcj-front-summary-inner{margin:14px 0 0}
.tcj-front-metric{
    padding:14px;border:1px solid var(--tcj-front-line);
    border-top:4px solid var(--tcj-front-jade-700);
    border-radius:14px;background:#fff;
    box-shadow:0 8px 22px rgba(15,76,58,.06);
}
.tcj-front-metric.is-gold{border-top-color:var(--tcj-front-gold-600)}
.tcj-front-metric strong{display:block;color:var(--tcj-front-jade-900);font-size:22px}
.tcj-front-metric span{color:var(--tcj-front-muted);font-size:11px}
.tcj-front-accordion{display:grid;gap:10px}
.tcj-front-acc-item{
    overflow:hidden;border:1px solid var(--tcj-front-line);
    border-radius:14px;background:#fff;
}
.tcj-front-acc-head{
    width:100%;border:0;padding:14px 16px;background:#fff;
    display:flex;justify-content:space-between;align-items:center;gap:12px;
    cursor:pointer;text-align:right;font:inherit;font-weight:800;color:var(--tcj-front-jade-950);
}
.tcj-front-acc-head:hover{background:var(--tcj-front-jade-50)}
.tcj-front-acc-head span{display:flex;align-items:center;gap:9px}
.tcj-front-acc-head b{
    width:28px;height:28px;border-radius:9px;
    display:inline-flex;align-items:center;justify-content:center;
    background:var(--tcj-front-jade-100);color:var(--tcj-front-jade-900);
}
.tcj-front-acc-head i{font-style:normal;color:var(--tcj-front-gold-700);font-size:18px;transition:.2s transform}
.tcj-front-acc-item.is-open .tcj-front-acc-head i{transform:rotate(180deg)}
.tcj-front-acc-body{
    display:none;padding:0 16px 16px;
    border-top:1px solid var(--tcj-front-line);
    background:linear-gradient(180deg,#fff,#fbfcfa);
}
.tcj-front-acc-item.is-open .tcj-front-acc-body{display:block}
.tcj-front-note{
    margin:13px 0;padding:10px 12px;
    border:1px solid var(--tcj-front-gold-300);
    border-radius:9px;background:var(--tcj-front-gold-100);
    color:#66531c;font-size:11px;
}
.tcj-front-new-form,.tcj-front-search-form{
    display:grid;gap:10px;align-items:end;margin-top:13px;
}
.tcj-front-new-form{grid-template-columns:1fr 1fr auto}
.tcj-front-search-form{grid-template-columns:repeat(4,1fr) auto}
.tcj-shortcode-shell label{
    display:block;margin-bottom:5px;
    color:var(--tcj-front-jade-950);font-size:11px;font-weight:800;
}
.tcj-shortcode-shell input,
.tcj-shortcode-shell select,
.tcj-shortcode-shell textarea{
    box-sizing:border-box;width:100%;
    border:1px solid #cbd7d1;border-radius:9px;
    padding:8px 10px;background:#fff;color:var(--tcj-front-ink);
    font:inherit;outline:none;
}
.tcj-shortcode-shell input,.tcj-shortcode-shell select{min-height:39px}
.tcj-shortcode-shell textarea{resize:vertical}
.tcj-shortcode-shell input:focus,
.tcj-shortcode-shell select:focus,
.tcj-shortcode-shell textarea:focus{
    border-color:var(--tcj-front-gold-600);
    box-shadow:0 0 0 3px rgba(201,162,39,.14);
}
.tcj-front-form-action{display:flex;gap:8px;flex-wrap:wrap}
.tcj-front-btn{
    display:inline-block;border:0;border-radius:9px;
    padding:9px 14px;text-decoration:none;font:inherit;font-weight:800;cursor:pointer;
}
.tcj-front-btn-jade{background:var(--tcj-front-jade-900);color:#fff!important}
.tcj-front-btn-gold{background:var(--tcj-front-gold-600);color:#201b0d!important}
.tcj-front-btn-outline{
    border:1px solid #c8d4ce;background:#fff;color:var(--tcj-front-jade-900)!important;
}
.tcj-front-table-wrap{overflow:auto;margin-top:13px}
.tcj-front-table{
    width:100%;min-width:900px;border-collapse:separate;border-spacing:0;
}
.tcj-front-table th,.tcj-front-table td{
    padding:9px;border-bottom:1px solid #e7ece9;text-align:center;font-size:12px;
}
.tcj-front-table th{
    background:var(--tcj-front-jade-100);color:var(--tcj-front-jade-950);white-space:nowrap;
}
.tcj-front-table tbody tr:nth-child(even) td{background:#fbfcfa}
.tcj-front-table tbody tr:hover td{background:var(--tcj-front-gold-100)}
.tcj-front-actions{white-space:nowrap}
.tcj-front-actions a{
    margin:0 4px;color:var(--tcj-front-jade-800)!important;text-decoration:none;font-weight:800;
}
.tcj-front-message{
    margin:0 0 14px;padding:11px 13px;border-radius:10px;font-size:12px;
}
.tcj-front-error{border:1px solid #e6b8b8;background:#fff0f0;color:#8f1d1d}
.tcj-front-warning{border:1px solid var(--tcj-front-gold-300);background:var(--tcj-front-gold-100);color:#66531c}
.tcj-front-success{border:1px solid #9bcbb9;background:#edf9f3;color:#185b43}
.tcj-front-info{border:1px solid #b9d2c8;background:var(--tcj-front-jade-50);color:var(--tcj-front-jade-900)}
.tcj-front-editor{
    padding:16px;border:1px solid var(--tcj-front-line);
    border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(15,76,58,.08);
}
.tcj-front-editor-head{
    display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;
    margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--tcj-front-line);
}
.tcj-front-editor-head h2{margin:0;color:var(--tcj-front-jade-950)}
.tcj-front-editor-head p{margin:4px 0 0;color:var(--tcj-front-muted);font-size:12px}
.tcj-front-session-meta{
    display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;
}
.tcj-front-session-meta div{
    padding:12px;border:1px solid var(--tcj-front-line);border-radius:11px;background:var(--tcj-front-jade-50);
}
.tcj-front-session-meta span{display:block;color:var(--tcj-front-muted);font-size:10px}
.tcj-front-session-meta strong{display:block;margin-top:3px;color:var(--tcj-front-jade-950)}
.tcj-front-entry-table input{min-width:110px;min-height:33px;padding:6px 8px}
.tcj-front-student-name{text-align:right!important}
.tcj-front-student-name strong,.tcj-front-student-name small{display:block}
.tcj-front-student-name small{color:var(--tcj-front-muted)}
.tcj-front-general-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px;
}
.tcj-front-general-grid .is-wide{grid-column:1/-1}
.tcj-front-editor-actions{
    display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;
}
.tcj-front-print-toolbar{margin:0 0 10px}
@media(max-width:980px){
    .tcj-front-summary{grid-template-columns:repeat(2,1fr)}
    .tcj-front-new-form,.tcj-front-search-form{grid-template-columns:1fr 1fr}
    .tcj-front-session-meta{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
    .tcj-front-journal-box{border-radius:14px}
    .tcj-front-journal-toggle{padding:17px 14px}
    .tcj-front-journal-title strong{font-size:20px}
    .tcj-front-journal-body{padding:10px}
    .tcj-front-summary{grid-template-columns:1fr 1fr}
    .tcj-front-new-form,.tcj-front-search-form,.tcj-front-session-meta,.tcj-front-general-grid{grid-template-columns:1fr}
    .tcj-front-general-grid .is-wide{grid-column:auto}
    .tcj-front-acc-head{padding:13px}
    .tcj-front-acc-body{padding:0 13px 13px}
}
@media print{
    .tcj-front-print-toolbar,.tcj-print-hide,.tcj-front-editor-actions{display:none!important}
    .tcj-front-editor{border:0;box-shadow:none;padding:0}
}
