.select-class{width:200px}.select-student{width:180px}.select-subject{width:200px}.select-trimester{width:50px}.label-spacing{margin-right:5px;margin-left:15px}.mark-input-number{height:32px!important;width:60px!important;text-align:center}.exempt-icon{cursor:pointer;color:#ff4d4f;font-size:14px;margin-left:8px}.save-all-button{margin-right:5px;margin-left:20px;margin-bottom:10px;background:#8bc34a!important;border-color:#8bc34a!important}.text-italic{font-style:italic}.mark-type-column{padding:8px;min-height:60px}.mark-type-header-cell{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:4px;margin-bottom:8px;font-size:12px;color:#666}.subsubject-label{font-style:italic;color:#999}.exempted-notice-cell{margin-top:8px}.mark-inputs-cell{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.mark-input-row,.mark-inputs-cell{display:-webkit-box;display:-ms-flexbox;display:flex;gap:6px}.mark-input-row{-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:4px;border-radius:4px}.mark-input-row.danger{background-color:#fff1f0;border:1px solid #ffccc7}.mark-index{font-size:11px;color:#999;min-width:24px}.bulletin-header{padding:12px 0;border-bottom:1px solid #e8e8e8}.bulletin-header h4{color:#262626;margin:0;font-weight:500;font-size:16px}.bulletin-status-title{font-weight:500;font-size:14px;color:#262626}.bulletin-status-badge{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:4px 10px;border:1px solid #d9d9d9;border-radius:4px;background-color:transparent}.bulletin-status-badge span{color:#595959;font-size:12px;font-weight:400}.bulletin-status-icon{font-size:14px}.bulletin-status-icon.success{color:#52c41a}.bulletin-status-icon.error{color:#ff4d4f}.bulletin-action-btn,.bulletin-print-btn{border-radius:6px;height:36px;-webkit-box-shadow:0 2px 4px rgba(0,0,0,.1);box-shadow:0 2px 4px rgba(0,0,0,.1)}.bulletin-print-btn{background-color:#fff}.color-palette-btn{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:8px 16px;border-radius:4px;-webkit-transition:all .3s ease;transition:all .3s ease;background:linear-gradient(45deg,#1890ff,#52c41a);border:none;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.15);box-shadow:0 2px 8px rgba(0,0,0,.15)}.color-palette-btn:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);-webkit-box-shadow:0 4px 12px rgba(0,0,0,.2);box-shadow:0 4px 12px rgba(0,0,0,.2)}.btn-text{font-weight:500;margin-left:8px}.color-preview{-ms-flex-wrap:wrap;flex-wrap:wrap;gap:12px;padding:12px;background:#f5f5f5;border-radius:4px;margin-top:8px}.color-box,.color-preview{display:-webkit-box;display:-ms-flexbox;display:flex}.color-box{-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.color-swatch{width:24px;height:24px;border-radius:4px;border:1px solid #d9d9d9}.color-label{font-size:12px;color:#666;text-transform:capitalize}.preview-container{background:#fff;border-radius:8px;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.1);box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden}.preview-header{padding:16px;background:#fafafa;border-bottom:1px solid #f0f0f0}.preview-title{margin:0 0 16px 0;font-size:18px;font-weight:500;color:#262626}.preview-controls{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.preview-actions,.preview-controls{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px}.preview-actions{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.preview-select{-webkit-box-flex:1;-ms-flex:1;flex:1}.preview-btn,.preview-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px}.preview-btn{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.preview-content{position:relative;min-height:400px}.preview-iframe{border:none;background:#fff}.preview-placeholder{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:141.42vw;max-height:95vh;background:#fafafa}.preview-empty{text-align:center;padding:24px}.preview-icon{font-size:48px;color:#d9d9d9;margin-bottom:16px}.preview-text{color:#8c8c8c;margin-bottom:16px;font-size:14px}