/* AMASOMO V104 — Corporate selling dashboard, compact pickers, protected previews, school branding */
.v104-corp-hero{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px;border:1px solid #bcded6;border-radius:20px;background:linear-gradient(135deg,#f8fffd,#e7f7f3)}
.v104-company-brand{display:flex;gap:16px;align-items:center}.v104-logo-stack{position:relative;width:104px;height:78px;display:grid;place-items:center}.v104-company-logo{width:78px;height:78px;object-fit:contain;border-radius:14px;background:#fff;border:1px solid #c9e2dc;padding:7px}.v104-school-badge{position:absolute;right:0;bottom:-4px;width:34px;height:34px;object-fit:contain;border-radius:9px;background:#fff;border:2px solid #fff;box-shadow:0 2px 8px #1233}
.v104-compact-filters,.v104-student-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.v104-compact-filters input,.v104-compact-filters select,.v104-student-picker input,.v104-student-picker select{width:100%;box-sizing:border-box;padding:10px;border:1px solid #bdd8d2;border-radius:10px;background:#fff}
.v104-selected-summary{padding:8px 10px;border-radius:10px;background:#edf8f5;color:#355f58;margin:8px 0;font-size:.86rem}.v104-compact-students{max-height:250px!important;overflow:auto;padding:6px!important}.v104-compact-students label{display:flex!important;gap:9px;align-items:flex-start;padding:8px!important;border-bottom:1px solid #e6f0ed}.v104-compact-students label span{display:grid}.v104-compact-students small{display:block;color:#607d77;font-weight:500;margin-top:2px}
.v104-protected,.v104-protected *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.v104-preview-card{border:1px solid #c7dfda;border-radius:14px;background:#fff;margin:10px 0;overflow:hidden}.v104-preview-card summary{display:flex;justify-content:space-between;gap:10px;align-items:center;cursor:pointer;padding:13px 15px;background:#f5fbf9;font-weight:900}.v104-preview-card summary small{font-weight:700;color:#55746e}.v104-preview-meta{padding:9px 15px;border-top:1px solid #e5efec;color:#5a756f;font-size:.84rem}.v104-reader-preview{padding:15px;max-height:380px;overflow:auto;background:white}.v104-reader-preview h1,.v104-reader-preview h2,.v104-reader-preview h3{line-height:1.2}.v104-feedback{margin:12px 15px 16px;padding:11px;border-radius:10px;background:#edf8f5}.v104-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:14px}.v104-assignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v104-assignment-grid .v104-preview-card{margin:0}.v104-proof-grid,.v104-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.v104-proof-grid video,.v104-proof-grid img{width:100%;max-height:220px;object-fit:contain;border-radius:10px}.v104-proof-grid audio{width:100%}
.v104-milestones{display:flex;gap:0;overflow-x:auto;padding:18px 4px 8px}.v104-milestone{position:relative;flex:0 0 160px;text-align:center;padding:0 10px}.v104-milestone:not(:last-child):after{content:"";position:absolute;top:17px;left:58%;width:84%;height:3px;background:#d5e7e3;z-index:0}.v104-milestone span{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;margin:0 auto 8px;border-radius:50%;background:#dfece9;border:3px solid #fff;box-shadow:0 0 0 1px #bdd8d2;font-weight:900}.v104-milestone.active span{background:#8bdcc9}.v104-milestone.done span{background:#0baa8b;color:#fff}.v104-milestone b,.v104-milestone small{display:block}.v104-milestone small{font-size:.75rem;color:#607d77;margin-top:4px;line-height:1.25}
.v104-language-sales{display:grid!important;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:22px;align-items:start;background:linear-gradient(135deg,#f8fffd,#eef9f6)}.v104-school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v104-school-card{display:grid;grid-template-rows:80px auto auto;gap:5px;min-height:145px;padding:12px;border:1px solid #c7dfda;border-radius:14px;background:#fff;color:inherit;text-decoration:none;text-align:center;transition:.15s}.v104-school-card:hover{transform:translateY(-2px);box-shadow:0 7px 20px #1231}.v104-school-card img{width:72px;height:72px;object-fit:contain;margin:auto}.v104-school-card b{font-size:.86rem}.v104-school-card small{color:#607d77}.v104-open-user{font-weight:900!important;border:1px solid #3d8d7d55!important}
@media(max-width:950px){.v104-corp-hero{align-items:flex-start;flex-direction:column}.v104-language-sales{grid-template-columns:1fr}.v104-school-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v104-assignment-grid{grid-template-columns:1fr}.v104-proof-grid,.v104-resource-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.v104-corporate .app{display:block}.v104-corporate .side{position:relative;width:auto;min-height:auto}.v104-corporate .side .nav{display:flex;overflow-x:auto;gap:6px;padding-bottom:8px}.v104-corporate .side .nav a,.v104-corporate .side .nav button{flex:0 0 auto}.v104-corporate .main{padding:14px}.v104-company-brand{align-items:flex-start}.v104-logo-stack{width:82px;height:66px}.v104-company-logo{width:62px;height:62px}.v104-school-badge{width:28px;height:28px}.v104-compact-filters,.v104-student-picker{grid-template-columns:1fr}.v104-school-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.v104-school-card{padding:7px;min-height:120px;grid-template-rows:56px auto auto}.v104-school-card img{width:52px;height:52px}.v104-school-card b{font-size:.72rem}.v104-school-card small{font-size:.67rem}.v104-proof-grid,.v104-resource-grid{grid-template-columns:1fr}.v103-progress-grid{grid-template-columns:1fr}.v102-stat-row{grid-template-columns:1fr 1fr!important}.data-table{min-width:760px}}

/* V105 — teacher submission review queue + submitted Corporate assignment indicator */
.v105-review-summary{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 10px}
.v105-review-summary button{border:1px solid #b8ddd5;background:#eef9f6;border-radius:12px;padding:9px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;color:#073f37}
.v105-review-summary button:hover{border-color:#17a98c;background:#e2f6f1}.v105-review-summary button b{font-size:1.25rem}.v105-review-summary button span{font-weight:700}
.v105-corp-submitted{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px;padding:8px 10px;border-radius:10px;background:#eef9f6;border:1px solid #c9e8e1}
@media(max-width:700px){.v105-review-summary{display:grid;grid-template-columns:1fr}.v105-review-summary button{width:100%;justify-content:flex-start}.v105-corp-submitted{align-items:flex-start;flex-direction:column}}

/* V109 assignment/progress media */
.v109-progress-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid #cfe2dd;border-radius:14px;background:#fff;margin:10px 0}.v109-progress-item>div:first-child{display:flex;align-items:center;gap:12px;min-width:0}.v109-progress-icon{font-size:28px}.v109-progress-item p{margin:4px 0 0;color:#47635d}.v109-media-caption{display:flex;flex-direction:column;gap:3px;margin:10px 0}.v108-assignment-media video{width:100%;max-height:420px;border-radius:12px;background:#000}.v108-assignment-media audio{width:100%}@media(max-width:700px){.v109-progress-item{align-items:stretch;flex-direction:column}.v109-progress-item .btn{width:100%}}
/* V110 oral exercise assignment cycle */
.v110-oral-guide{display:grid;gap:.45rem;padding:1rem;border:1px solid #b8ddd5;border-radius:14px;background:#edf9f6;margin-bottom:1rem}.v110-exercise-rows{display:grid;gap:.7rem}.v110-exercise-row{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(220px,1.3fr);gap:.65rem;padding:.7rem;border:1px solid #d6e8e4;border-radius:12px;background:#fff}.v110-exercise-row input{width:100%;box-sizing:border-box}.v110-saved-responses{display:flex;flex-wrap:wrap;gap:.45rem;margin:.8rem 0}.v110-saved-responses span{padding:.35rem .6rem;border-radius:999px;background:#e6f5f1}.v110-teacher-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin:.75rem 0}.v110-teacher-gallery article{border:1px solid #cfe3df;border-radius:12px;padding:.75rem;background:#f7fbfa}.v110-teacher-gallery audio,.v110-teacher-gallery video{width:100%;max-height:280px;margin-top:.5rem}
@media(max-width:700px){.v110-exercise-row{grid-template-columns:1fr}.v110-exercise-row input[type=file]{min-height:48px}.v110-teacher-gallery{grid-template-columns:1fr}.v92-response,.v92-preview{min-width:0}.v110-oral-guide{font-size:.95rem}}
