.itcm{--itcm-ink:#20354b;--itcm-accent:#24735a;--itcm-line:#d8e2e8;max-width:1400px;margin:24px auto;color:var(--itcm-ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
.itcm *{box-sizing:border-box}.itcm [hidden]{display:none!important}
.itcm-head{padding:24px 0 16px;border-bottom:1px solid var(--itcm-line)}.itcm-eyebrow{font-size:12px;letter-spacing:.16em;color:var(--itcm-accent);font-weight:700}.itcm h2{font-size:clamp(28px,4vw,42px);line-height:1.15;margin:8px 0}.itcm-head p{margin:8px 0;color:#576e7e}
.itcm button{font:inherit;text-transform:none!important;letter-spacing:normal;line-height:1.3!important;min-height:44px;height:auto!important;padding:10px 16px!important;border:1px solid var(--itcm-line);border-radius:9px;background:#fff;color:var(--itcm-ink);cursor:pointer;white-space:normal}.itcm button:hover{border-color:var(--itcm-accent);background:#f1f8f5}.itcm button:disabled{opacity:.5;cursor:default}.itcm button[type=submit]{background:var(--itcm-accent);color:white;border-color:var(--itcm-accent)}
.itcm button.itcm-delete{color:#b42318;border-color:#efb5ae;background:#fff7f6}.itcm button.itcm-delete:hover{background:#ffebe8;border-color:#b42318}
.itcm button:focus-visible,.itcm input:focus-visible,.itcm textarea:focus-visible,.itcm select:focus-visible,.itcm summary:focus-visible{outline:3px solid #599bea;outline-offset:3px}
.itcm label{display:block;font-weight:600;font-size:15px;margin:12px 0 5px}.itcm input:not([type=checkbox]),.itcm textarea,.itcm select{display:block;width:100%;max-width:100%;font:inherit;color:var(--itcm-ink)!important;background-color:white;border:1px solid #b9cbd7;border-radius:8px;margin:5px 0 0;padding:12px!important;line-height:1.5!important;height:auto!important;min-height:48px;box-shadow:none}.itcm textarea{resize:vertical}.itcm select{padding-right:38px!important}.itcm input[type=file]{white-space:normal;font-size:14px}
.itcm summary{cursor:pointer;font-weight:700;padding:16px;min-height:54px}.itcm-upload,.itcm-admin{border:1px solid var(--itcm-line);border-radius:12px;background:#f5f9f7;margin:20px 0}.itcm-upload form,.itcm-admin>pre,.itcm-admin>p,.itcm-admin>button{margin:0 18px 18px}.itcm-help{font-size:14px;color:#536879;font-weight:400}.itcm-consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:400!important}.itcm-consent input{flex-shrink:0;margin-top:5px;width:18px;height:18px}
.itcm-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.itcm progress{width:100%;height:18px;margin-top:18px;accent-color:var(--itcm-accent)}.itcm-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:20px 0}.itcm-toolbar button{min-height:48px}.itcm-filter-group{min-width:0;max-width:100%}.itcm-filter-title{display:block;font-size:15px;font-weight:600;margin-bottom:8px}.itcm-filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.itcm .itcm-filter-buttons button[aria-pressed=true]{background:var(--itcm-accent);border-color:var(--itcm-accent);color:#fff;box-shadow:inset 0 0 0 1px var(--itcm-accent);font-weight:600}
.itcm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.itcm-card{border:1px solid var(--itcm-line);border-radius:14px;background:white;overflow:hidden;min-width:0;box-shadow:0 4px 18px #173e5510}.itcm-card img,.itcm-card video{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#e9eef1;height:auto;max-height:400px}.itcm-card video{background:#172432}.itcm-card-body{padding:18px}.itcm-tag{font-size:11px;letter-spacing:.08em;font-weight:700;color:var(--itcm-accent)}.itcm h3{font-size:20px;line-height:1.35;margin:8px 0;overflow-wrap:anywhere}.itcm-description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.itcm-author{font-weight:600;font-size:14px;margin:18px 0 3px;overflow-wrap:anywhere}.itcm-date{display:block;color:#657c8b;font-size:13px}.itcm-hidden-card{border-style:dashed;background:#f7f7f7}.itcm-card .itcm-actions button{font-size:14px;padding:8px 12px!important}
.itcm-notice{font-size:14px;color:#586c7b;min-height:22px}.itcm-error{color:#a02b2b;background:#fff0ef;padding:12px;border-radius:8px}.itcm-empty{grid-column:1/-1;text-align:center;padding:50px 20px;border:1px dashed var(--itcm-line);border-radius:12px;background:#f9fbfc}.itcm-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:28px 0}.itcm-admin pre{white-space:pre-wrap;overflow-wrap:anywhere}.itcm-video-error{padding:12px;font-size:14px}
.itcm button.itcm-video-cover{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/3;max-height:400px;min-height:0;padding:0!important;border:0;border-radius:0;background:linear-gradient(145deg,#dcebe5,#b2ccc2);overflow:hidden}
.itcm .itcm-video-cover img{width:100%;height:100%;max-height:none;position:absolute;inset:0;object-fit:contain;background:#e9eef1}
.itcm .itcm-play-label{position:relative;z-index:1;padding:12px 18px;border-radius:999px;background:#164b3deb;color:white;box-shadow:0 3px 14px #173e5530;font-size:15px;font-weight:600}
.itcm .itcm-video-cover:hover .itcm-play-label{background:#123e32}.itcm .itcm-video-cover:focus-visible{outline-offset:-4px}
.itcm-pending{margin:20px 0;padding:18px;border:1px solid #ddb972;border-radius:12px;background:#fff9ee}.itcm-pending-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--itcm-line)}.itcm-pending-row>div{flex:1 1 240px;min-width:0;overflow-wrap:anywhere}.itcm-pending-row p{margin:4px 0}
.itcm-dialog{width:min(560px,92vw);max-height:90vh;overflow:auto;border:1px solid var(--itcm-line);border-radius:14px;padding:24px;color:var(--itcm-ink);background:white}.itcm-dialog::backdrop{background:#142d4690}
@media(max-width:950px){.itcm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.itcm{margin:12px auto}.itcm-grid{grid-template-columns:1fr}.itcm-filter-group{flex:1 1 100%}.itcm-filter-buttons button{flex:1 1 auto;width:auto}.itcm-toolbar>[data-refresh]{width:100%}.itcm-upload form{margin:0 12px 12px}.itcm-card-body{padding:15px}.itcm-actions button{flex:1}.itcm-head{padding:12px 0}}
