#lop-cc, #lop-cc * { box-sizing: border-box; font-family: Arial, sans-serif; margin: 0; padding: 0; }
#lop-cc .cc-trong { 
            background: #f0f4f8; 
            max-width: 600px; 
            margin: 0 auto; 
            padding: 0 16px 24px;
        }
#lop-cc .top {
            position: sticky; top: 0; z-index: 10;
            background: #f0f4f8; padding: 16px 0 8px;
        }
#lop-cc .btn-bar {
            display: flex; gap: 6px; width: 100%; margin-bottom: 12px;
        }
#lop-cc .btn-bar button {
            flex: 1; padding: 9px 2px; font-size: 13px; font-weight: 700;
            border: none; border-radius: 8px; cursor: pointer;
            white-space: nowrap; transition: all 0.2s;
        }
#lop-cc .btn-check { background: #3b82f6; color: #fff; }
#lop-cc .btn-check:hover { background: #2563eb; }
#lop-cc .btn-copy { background: #f59e0b; color: #fff; }
#lop-cc .btn-copy:hover { background: #d97706; }
#lop-cc .btn-clear { background: #ef4444; color: #fff; }
#lop-cc .btn-clear:hover { background: #dc2626; }
#lop-cc .btn-calc { background: #10b981; color: #fff; }
#lop-cc .btn-calc:hover { background: #059669; }
#lop-cc .btn-do { background: #8b5cf6; color: #fff; }
#lop-cc .btn-do:hover { background: #7c3aed; }
#lop-cc .mien-bar { display: flex; gap: 12px; align-items: center; margin: -4px 0 8px; }
#lop-cc .mien-bar label { display: flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 700; color: #374151; cursor: pointer; }
#lop-cc .mien-bar input { width: 20px; height: 20px; accent-color: #3b82f6; cursor: pointer; }
#lop-cc .ngay-wrap { margin-left: auto; position: relative; }
#lop-cc .ngay-nut, #lop-cc .ngay-ds div {
            font-size: 13px; font-weight: 700; color: #1d4ed8; white-space: nowrap; cursor: pointer;
        }
#lop-cc .ngay-nut {
            padding: 3px 6px; border: 1px solid #93c5fd; border-radius: 6px; background: #fff;
        }
#lop-cc .ngay-ds {
            position: absolute; top: 100%; left: 0; right: 0; margin-top: 2px; z-index: 20;
            background: #fff; border: 1px solid #93c5fd; border-radius: 6px; overflow: hidden;
            box-shadow: 0 4px 10px rgba(29, 78, 216, 0.15);
        }
#lop-cc .ngay-nut, #lop-cc .ngay-ds div { display: flex; justify-content: space-between; gap: 4px; }
#lop-cc .ngay-nut { width: 6.6em; }
#lop-cc .ngay-ds div { padding: 4px 6px; }
#lop-cc .ngay-ds div.cc-dang-chon { background: #dbeafe; }
#lop-cc .dai-list { font-size: 16px; font-weight: 700; color: #1d4ed8; margin-bottom: 10px; min-height: 22px; }
#lop-cc .label-row {
            display: flex; align-items: center; gap: 8px; margin-bottom: 8px;
        }
#lop-cc .label-text { font-weight: 700; color: #374151; font-size: 16px; }
#lop-cc .status-text { font-weight: 700; font-size: 15px; }
#lop-cc .status-invalid { color: #ef4444; }
#lop-cc .status-valid { color: #10b981; }
#lop-cc .hidden { display: none !important; }
#lop-cc .input-box {
            width: 100%; min-height: 250px; padding: 14px; 
            font-size: 16px; line-height: 1.6; 
            border: 2px solid #cbd5e0; border-radius: 12px; outline: none;
            background: #fff; 
            white-space: pre-wrap; word-break: break-all;
            overflow-y: auto;
        }
#lop-cc .input-box:focus { border-color: #3b82f6; }
#lop-cc .input-box { height: 36vh; min-height: 160px; max-height: 300px; }
#lop-cc .dong-box {
            margin-top: 6px; font-size: 16px; line-height: 1.7;
            overflow-x: auto; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y;
        }
#lop-cc .dong-box:empty { display: none; }
#lop-cc .dong {
            padding: 6px 4px; border-bottom: 1px dashed #cbd5e0; color: #111;
            white-space: nowrap; width: max-content; min-width: 100%; box-sizing: border-box;
        }
#lop-cc .dong:last-child { border-bottom: none; }
#lop-cc .dong-tien { color: #1d4ed8; font-weight: 700; }
#lop-cc .dong-loi { color: #ef4444; font-weight: 700; }
#lop-cc .dong-tien, #lop-cc .dong-loi { white-space: pre; }
#lop-cc .dong-tong {
            position: sticky; left: 0; margin-top: 6px; padding: 8px 12px; border-radius: 10px;
            background: #10b981; color: #fff; font-size: 18px; font-weight: 700; text-align: right;
        }
#lop-cc .dong-tong.cc-loi { background: #fee2e2; color: #b91c1c; border: 1px solid #ef4444; font-size: 15px; }
#lop-cc .tong-hop { margin-top: 4px; font-size: 13px; line-height: 1.5; font-weight: 700; color: #ef4444; }
#lop-cc .tong-hop .cc-cham { color: #10b981; }
#lop-cc .tong-hop:empty { display: none; }
#lop-cc .tong-hop div { white-space: nowrap; overflow-x: auto; }
#lop-cc .tong-hop.cc-loi { color: #ef4444; }
#lop-cc .ket-qua { margin-top: 12px; font-size: 15px; line-height: 1.6; }
#lop-cc .ket-qua:empty { display: none; }
#lop-cc .kq-dong { background: #fff; border: 1px solid #cbd5e0; border-radius: 10px; padding: 8px 10px; margin-bottom: 8px; }
#lop-cc .kq-tin { font-weight: 700; white-space: nowrap; overflow-x: auto; color: #111; }
#lop-cc .kq-muc { color: #374151; white-space: nowrap; overflow-x: auto; }
#lop-cc .kq-chua { color: #ef4444; }
#lop-cc .kq-cong { text-align: right; font-weight: 700; color: #1d4ed8; }
#lop-cc .kq-loi { background: #fee2e2; color: #b91c1c; border: 1px solid #ef4444; border-radius: 10px; padding: 10px 12px; font-weight: 700; }
#lop-cc .kq-loi div { font-weight: 400; white-space: nowrap; overflow-x: auto; }
#lop-cc .kq-tong { background: #10b981; color: #fff; font-size: 18px; font-weight: 700; border-radius: 10px; padding: 10px 12px; text-align: right; }
#lop-cc .hop-le { color: #000 !important; }
#lop-cc .khong-hop-le { color: #ef4444 !important; }
#lop-cc .kqsx-man { position: fixed; inset: 0; z-index: 100; background: #f0f7ff; display: flex; flex-direction: column; }
#lop-cc .kqsx-dong {
            align-self: flex-start; margin: 10px 16px 0; padding: 8px 14px; font-size: 15px; font-weight: 700;
            color: #fff; background: #3b82f6; border: none; border-radius: 8px; cursor: pointer;
        }
#lop-cc .kqsx-man iframe { flex: 1; width: 100%; border: 0; }
#lop-cc .do-tong { margin-top: 4px; font-size: 13px; line-height: 1.5; font-weight: 700; color: #ef4444; }
#lop-cc .do-tong:empty { display: none; }
#lop-cc .do-tong div { white-space: nowrap; overflow-x: auto; }
#lop-cc .dong-trung { color: #ef4444; font-weight: 700; }
#lop-cc .do-nen { position: fixed; inset: 0; z-index: 200; background: rgba(0,0,0,0.4); display: flex; align-items: center; justify-content: center; padding: 16px; }
#lop-cc .do-hop { background: #fff; border-radius: 12px; padding: 16px; width: 100%; max-width: 360px; }
#lop-cc .do-tieude { font-size: 18px; font-weight: 700; color: #374151; text-align: center; margin-bottom: 10px; }
#lop-cc .do-mien { display: flex; gap: 16px; justify-content: center; margin-bottom: 10px; }
#lop-cc .do-mien label { display: flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 700; color: #374151; }
#lop-cc .do-mien input { width: 20px; height: 20px; accent-color: #8b5cf6; }
#lop-cc .do-ngay { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-bottom: 12px; }
#lop-cc .do-ngay button { padding: 6px 2px; font-size: 13px; font-weight: 700; color: #1d4ed8; background: #fff; border: 1px solid #93c5fd; border-radius: 6px; cursor: pointer; }
#lop-cc .do-ngay button.cc-dang-chon { background: #dbeafe; }
#lop-cc .do-nut { width: 100%; padding: 10px; font-size: 15px; font-weight: 700; color: #fff; background: #8b5cf6; border: none; border-radius: 8px; cursor: pointer; }
#lop-cc .do-trang-thai { min-height: 20px; margin: 8px 0; font-size: 14px; color: #374151; text-align: center; }
#lop-cc .do-trang-thai.cc-loi { color: #ef4444; }
#lop-cc .do-dan summary { font-size: 14px; color: #1d4ed8; cursor: pointer; margin-bottom: 6px; }
#lop-cc .do-dan textarea { width: 100%; height: 120px; font-size: 14px; padding: 8px; border: 1px solid #cbd5e0; border-radius: 8px; margin-bottom: 6px; }
#lop-cc .do-dong { width: 100%; margin-top: 10px; padding: 8px; font-size: 14px; font-weight: 700; color: #374151; background: #e5e7eb; border: none; border-radius: 8px; cursor: pointer; }
#lop-cc .mien-bar.nhac { outline: 2px solid #ef4444; outline-offset: 4px; border-radius: 6px; }
#lop-cc .cc-toast {
            position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%);
            background: rgba(0,0,0,0.8); color: #fff;
            padding: 12px 24px; border-radius: 8px; font-size: 15px;
            z-index: 10000; display: none;
        }
#lop-cc .cc-toast.show { display: block; }
#lop-cc .cc-quay { margin-bottom: 8px; }
#lop-cc .cc-quay button { border: 0; border-radius: 10px; padding: 8px 14px; font-size: 16px; font-weight: 700; background: #fff; color: #1c7ed6; cursor: pointer; }
#lop-cc .do-tong div.trung-ds { white-space: normal; }
#lop-cc .trung-tien { color: #2563eb; }
#lop-cc .tong-hop div.tong-ghi { white-space: normal; }
#lop-cc .tong-hop .tong-hai-cot { display: flex; gap: 28px; align-items: flex-start; white-space: normal; overflow: visible; }
#lop-cc .tong-hop .tong-hai-cot .tong-ghi + .tong-ghi { color: #2563eb; }
