.artsetu-class-manager{width:1000px;max-width:1200px;padding:42px;box-sizing:border-box;margin:32px auto;color:#292522;font-family:Arial,sans-serif}
.artsetu-class-form,.artsetu-teacher-classes{background:#fff;width:100%;box-sizing:border-box;border:1px solid #ddd;border-radius:8px;padding:42px;box-shadow:0 8px 24px rgba(48,31,20,.05)}
.artsetu-class-form{width:100%;padding:24px;border:1px solid #e8e8e8;border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(0,0,0,.06)}
.artsetu-form-box{box-sizing:border-box;margin:0 0 22px;padding:24px 26px;border-radius:10px;background:#f7efec}
.artsetu-form-box>h3{margin:0 0 18px;color:#292522;font-size:20px;font-weight:600;line-height:1.35}
.artsetu-class-form h2,.artsetu-teacher-classes h2{margin:0 0 22px;color:#111;font-family:Georgia,serif;font-size:28px;font-weight:400;padding-bottom:10px;border-bottom:1px solid #e5d8d2}
.artsetu-class-form h2{font-family:inherit}

/* align-items:end stops short fields (selects) from stretching to the height of
   taller neighbours (labelled file inputs) and lines the input boxes up on one baseline. */
.artsetu-class-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:end}
.artsetu-class-fields>label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:14px}
.artsetu-submitter-box{width:100%}
.artsetu-submitter-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.artsetu-submitter-fields>.artsetu-profile-image-field,.artsetu-submitter-fields>textarea{grid-column:1/-1}
.artsetu-class-manager .artsetu-submitter-fields input:not([type=file]){box-sizing:border-box;width:100%;height:48px;min-height:48px;margin:0;padding:0 12px;border:1px solid #d9ccc4;border-radius:6px;background:#fff;color:#292522;font:inherit;line-height:normal}
.artsetu-class-manager .artsetu-submitter-fields textarea{box-sizing:border-box;width:100%;height:110px;min-height:110px;margin:0;padding:10px 12px;border:1px solid #d9ccc4;border-radius:6px;background:#fff;color:#292522;font:inherit;line-height:1.5}
.artsetu-submitter-fields .artsetu-profile-image-field{display:block;font-weight:600;font-size:14px}
.artsetu-submitter-fields .artsetu-profile-image-field input[type=file]{display:block;width:100%;height:48px;min-height:48px;margin:6px 0 0;padding:10px 12px;box-sizing:border-box;border:1px solid #d9ccc4;border-radius:6px;background:#fff;font:inherit}
.artsetu-class-fields>.artsetu-profile-image-field{align-self:start}
.artsetu-class-fields>.artsetu-profile-image-field input[type=file]{display:block;width:100%;height:auto;min-height:0;margin:6px 0 0;padding:0;border:0;background:transparent}

/* One consistent height for every single-line field (text, number, file, select, flatpickr). */
.artsetu-class-manager .artsetu-class-fields input:not([type=checkbox]):not([type=hidden]),
.artsetu-class-manager .artsetu-class-fields select{box-sizing:border-box;width:100%;height:48px;min-height:0;margin:0;padding:0 12px;border:1px solid #d9ccc4;border-radius:6px;background-color:#fff;color:#292522;font:inherit;line-height:normal}
.artsetu-class-manager .artsetu-class-fields input[type=file]{display:flex;align-items:center;padding:0 12px}

/* Textareas stay taller on purpose. */
.artsetu-class-manager .artsetu-class-fields textarea{box-sizing:border-box;width:100%;height:auto;min-height:110px;padding:10px 12px;border:1px solid #d9ccc4;border-radius:6px;background:#fff;color:#292522;font:inherit}

.artsetu-class-fields .artsetu-class-wide{grid-column:1/-1}
/* Full-width row that holds several fields side by side */
.artsetu-class-row{grid-column:1/-1;display:grid;gap:18px;align-items:end}
.artsetu-class-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.artsetu-class-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.artsetu-workshop-date-row{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))}
.artsetu-course-description-banner-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.artsetu-class-fields fieldset{margin:0;padding:10px 12px;border:1px solid #d9ccc4;border-radius:6px;background:#fff}
.artsetu-class-fields legend{padding:0 5px;font-size:14px;font-weight:600}
.artsetu-class-days{display:flex;flex-wrap:wrap;gap:8px 14px}
.artsetu-class-days label{font-size:14px}
/* Time picker popup: fill the width JS sets (matches the field) and keep the three parts evenly spaced. */
.flatpickr-calendar.noCalendar.hasTime{box-sizing:border-box;max-width:100%}
.flatpickr-calendar.noCalendar .flatpickr-time{width:100%;box-sizing:border-box}
.flatpickr-calendar.noCalendar .flatpickr-time .numInputWrapper{flex:1 1 0;width:auto}
.flatpickr-calendar.noCalendar .flatpickr-time .flatpickr-am-pm{flex:1 1 0;width:auto}
.flatpickr-calendar.noCalendar .flatpickr-time .flatpickr-time-separator{flex:0 0 auto;width:auto;padding:0 4px}
.artsetu-class-form button{display:block;margin:22px auto 0;padding:12px 24px;border:0;border-radius:6px;background:#a94725;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.artsetu-class-form button:hover{background:#843718}
.artsetu-class-notice{max-width:980px;margin:18px auto;padding:14px 18px;border-radius:8px;background:#f8f2ed;color:#402d25}
.artsetu-class-notice.is-success{background:#edf7ef;color:#205b30}
.artsetu-class-notice.is-error{background:#fff0ed;color:#8a2c20}
.artsetu-class-result-card{box-sizing:border-box;width:100%;max-width:920px;margin:32px auto;padding:44px 36px;text-align:center;background:#fff;border:1px solid #e8e8e8;border-radius:18px;box-shadow:0 8px 25px rgba(0,0,0,.06)}
.artsetu-class-result-card h2{margin:0 0 16px;color:#151515;font-family:Georgia,serif;font-size:32px}
.artsetu-class-result-card p{margin:0 auto 24px;max-width:680px;line-height:1.65}
.artsetu-class-result-button{display:inline-block;padding:13px 24px;border-radius:7px;background:#a94725;color:#fff;text-decoration:none;font-weight:700}
.artsetu-class-result-button:hover{background:#843718;color:#fff}
.artsetu-teacher-classes{margin-top:24px}
.artsetu-account-classes{margin:0 auto}
.artsetu-account-classes-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #e5d8d2}
.artsetu-account-classes-header h2{margin:0;padding:0;border:0}
.artsetu-create-class-button{display:inline-block;flex:0 0 auto;padding:12px 18px;border-radius:6px;background:#a94725;color:#fff;text-decoration:none;font-weight:700}
.artsetu-create-class-button:hover{background:#843718;color:#fff}
.artsetu-class-empty{margin:0;color:#70645d}
.artsetu-class-list{margin:0;padding:0;list-style:none}
.artsetu-class-list li{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #eee5df}
.artsetu-class-thumb img{display:block;width:56px;height:56px;object-fit:cover;border-radius:7px}
.artsetu-class-summary{display:flex;flex:1;flex-direction:column;gap:4px}
.artsetu-class-summary small{color:#70645d}
.artsetu-class-status{padding:5px 9px;border-radius:999px;background:#f5eee9;color:#72422d;font-size:12px;font-weight:700;white-space:nowrap}
@media(max-width:640px){.artsetu-class-manager{margin:18px auto}.artsetu-class-form,.artsetu-teacher-classes{padding:16px}.artsetu-account-classes-header{align-items:flex-start;flex-direction:column}.artsetu-form-box{padding:18px 16px}.artsetu-class-fields,.artsetu-submitter-fields{grid-template-columns:1fr}.artsetu-class-row-3,.artsetu-class-row-2,.artsetu-course-description-banner-row{grid-template-columns:1fr}.artsetu-class-fields .artsetu-class-wide,.artsetu-submitter-fields>.artsetu-profile-image-field,.artsetu-submitter-fields>textarea{grid-column:auto}.artsetu-class-list li{align-items:flex-start;flex-wrap:wrap}.artsetu-class-status{margin-left:70px}}
