/* Meeting controls matched to the approved action-card and confirmation renders. */
.meeting-action-card{padding:20px;border:1px solid #e4e8ef;border-radius:12px;background:#fff;box-shadow:0 5px 20px #2636500a;margin-top:22px}
.meeting-delivery-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:20px;font-size:14px;font-weight:600;color:#8991a2}.meeting-delivery-row>small{flex-basis:100%}.delivery-state{display:inline-flex;align-items:center;gap:9px;color:#1c2636;font-weight:650;white-space:nowrap}.delivery-state i{width:10px;height:10px;border-radius:50%;background:#d39a26}.delivery-state.sent i{background:#00b86b}.delivery-state.failed i{background:#ce172b}
.meeting-primary-actions{display:flex;gap:12px}.meeting-primary-actions:empty{display:none}.meeting-primary-actions>form{display:flex;flex:1;margin:0;min-width:0}.meeting-primary-actions>.button{flex:1;min-width:0}.meeting-primary-actions .button,.meeting-confirm-actions .button,.room-end-panel .button,.room-launch-actions .button{display:flex;align-items:center;justify-content:center;gap:12px;font-size:15px;font-weight:650;line-height:1.25;border-radius:7px;min-height:54px;padding:12px 18px;margin:0;box-shadow:none;text-align:center}.meeting-primary-actions form>.button{width:100%}.meeting-primary-actions .meeting-start{background:linear-gradient(135deg,#008ca4,#0095ac);border:1px solid #00a0b8;color:#fff}.meeting-primary-actions .meeting-stop,.meeting-confirm-actions .meeting-stop,.room-end-panel .button.danger{background:linear-gradient(135deg,#c81c31,#d01127);border:1px solid #dc1730;color:#fff}.meeting-action-card .button svg,.meeting-end-dialog .button svg,.room-end-panel .button svg,.room-launch-actions .button svg{width:21px;height:21px;flex:none;stroke-width:2}
.meeting-action-card .form-actions.meeting-secondary-actions{display:flex;flex-wrap:nowrap;justify-content:stretch;gap:12px;padding:18px 0 0;margin:18px 0 0;background:transparent;border:0;border-top:1px solid #e8ecf2}.meeting-secondary-actions>.button{flex:1;display:flex;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:12px 15px;border:1px solid #d2d8e2;border-radius:7px;font-weight:650;font-size:14px;color:#1c2636;background:#fff;white-space:nowrap}.meeting-secondary-actions>.button:first-child{flex:1.35}.meeting-secondary-actions>.button.meeting-cancel{color:#be0012;border-color:#ff5879;background:#fff2f5}.meeting-primary-actions:empty~.meeting-secondary-actions{border-top:0;margin-top:0;padding-top:0}
dialog.meeting-end-dialog{position:fixed;inset:0;margin:auto;width:528px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);height:fit-content;border:1px solid #e5e9f0;border-radius:16px;padding:36px 40px 40px;box-shadow:0 20px 80px #19243a33;background:#fff;color:#172238;overflow:auto;font-family:"Segoe UI",Arial,sans-serif}dialog.meeting-end-dialog::backdrop{background:#23364d80;backdrop-filter:blur(3px)}.meeting-end-dialog .drawer-body{padding:0}.meeting-end-dialog h2{font-size:24px;line-height:1.3;font-weight:700;margin:0 20px 12px 0;letter-spacing:-.5px}.meeting-end-dialog p{font-size:15px;line-height:1.5;color:#708099;margin:0 0 24px}.meeting-end-dialog .meeting-confirm-subject{font-size:16px;margin-bottom:16px}.meeting-dialog-close{position:absolute;top:22px;right:22px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:transparent;color:#9aa7bb}.meeting-dialog-close svg{width:22px;height:22px}.meeting-confirm-actions{display:flex;flex-direction:column;gap:12px;margin-top:26px}.meeting-confirm-actions form{margin:0;display:flex}.meeting-confirm-actions .button{width:100%;height:64px;min-height:64px;font-size:16px;border:1px solid #d8deea;border-radius:8px}.meeting-confirm-actions>.button:not(.meeting-stop){background:#f7f9fc;color:#172238}.room-launch-actions .button svg{width:20px;height:20px}
@media(max-width:650px){.meeting-action-card{padding:16px}.meeting-primary-actions{flex-direction:column}.meeting-primary-actions .button{width:100%}.meeting-action-card .form-actions.meeting-secondary-actions{flex-wrap:wrap}.meeting-secondary-actions>.button{flex:1 1 40%}.meeting-secondary-actions>.button:first-child{flex-basis:100%}dialog.meeting-end-dialog{padding:30px 24px 26px}.meeting-end-dialog h2{font-size:22px}.meeting-dialog-close{top:16px;right:16px}}

.meeting-primary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-primary-actions>:only-child{grid-column:1/-1}.meeting-primary-actions>.button{width:100%}.meeting-action-card .form-actions.meeting-secondary-actions{display:grid;grid-template-columns:1.49fr 1fr 1.14fr}.meeting-confirm-actions .button.meeting-stop{background:linear-gradient(135deg,#c81c31,#d01127);border-color:#dc1730;color:white}@media(max-width:650px){.meeting-primary-actions{grid-template-columns:1fr}.meeting-action-card .form-actions.meeting-secondary-actions{grid-template-columns:1fr 1fr}.meeting-secondary-actions>.button:first-child{grid-column:1/-1}}
/* The standalone room screen uses the same turquoise start action as the booking card. */
.room-launch-actions .button.primary,.room-kiosk .room-launch-actions .button.primary{background:linear-gradient(135deg,#008ca4,#0095ac);border:1px solid #00a0b8;color:#fff;box-shadow:none}
.room-launch-actions .button.primary:hover:not(:disabled){background:#007e94;border-color:#008ba3}
.room-launch-actions .button.primary:focus-visible{outline-color:#168ca6}
.room-kiosk .kiosk-meeting-time,.room-kiosk .kiosk-next-time{color:#008fa6}
.meeting-files{margin:24px 0}.meeting-files .info-row a{min-width:0;overflow-wrap:anywhere}.meeting-files .info-row small{flex-shrink:0;margin-left:12px}.attachment-upload input[type=file]{width:100%;padding:10px;border:1px solid #d8dfe5;background:#fff;border-radius:6px}.attachment-upload input[type=file]::file-selector-button{padding:8px 12px;margin-right:12px;border:1px solid #cad8df;border-radius:4px;background:#edf5f7;color:#2c6679;cursor:pointer}.attachment-remove{display:flex!important;align-items:center;gap:8px;overflow-wrap:anywhere}.attachment-remove input[type=checkbox]{width:18px;height:18px;flex-shrink:0}
/* Shared upload control: native picker is retained when JavaScript is unavailable. */
.file-dropzone{margin:18px 0 10px}.file-dropzone-label{display:block;margin-bottom:10px;font-weight:600;color:#273b43}.file-dropzone-target{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:22px;border:1.5px dashed #accbd4;border-radius:10px;background:#f6fafb;transition:border-color .15s,background .15s,box-shadow .15s}.file-dropzone-symbol{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;background:#e6f2f5;color:#438da5;border-radius:12px}.file-dropzone-symbol svg{width:26px;height:26px}.file-dropzone-copy{display:grid;gap:5px;flex:1;min-width:160px}.file-dropzone-copy strong{font-size:15px;font-weight:600;color:#273b43}.file-dropzone-copy span{font-size:13px;color:#6b7e88}.file-dropzone .file-dropzone-choose{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:10px 15px;background:#438da5;border:1px solid #438da5;color:#fff;border-radius:6px;font-weight:600;font-size:14px;white-space:nowrap}.file-dropzone .file-dropzone-choose[hidden]{display:none}.file-dropzone .file-dropzone-choose:hover{background:#33788e;border-color:#33788e}.file-dropzone .file-dropzone-choose:focus-visible,.file-dropzone-remove:focus-visible{outline:3px solid #2c6c80;outline-offset:3px}.file-dropzone-choose svg{width:18px;height:18px}.file-dropzone-input{flex-basis:100%}.file-dropzone.is-enhanced .file-dropzone-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.file-dropzone.is-dragover .file-dropzone-target{background:#e4f4f5;border-color:#277f95;box-shadow:0 0 0 3px #438da51f}.file-dropzone.is-dragover .file-dropzone-symbol{background:#cce9ee}.file-dropzone-help{margin:9px 0 0!important;font-size:12px!important;line-height:1.5;color:#758690}.file-dropzone-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}.file-dropzone-list:empty{display:none}.file-dropzone-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid #dde8ec;border-radius:7px;background:#fff}.file-dropzone-file-icon{display:grid;place-items:center;background:#edf5f7;color:#438da5;border-radius:6px;width:34px;height:38px;font-size:24px}.file-dropzone-file{display:grid;gap:3px;min-width:0;flex:1}.file-dropzone-file strong{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-dropzone-file small{font-size:12px;color:#7b8b94}.file-dropzone-remove{display:grid;place-items:center;border:0;background:transparent;color:#6c808a;width:36px;height:36px;min-width:36px;border-radius:6px;font-size:23px;cursor:pointer}.file-dropzone-remove:hover{color:#b33030;background:#fff0f0}.file-dropzone-status{font-size:12px!important;margin:9px 0 0!important;color:#507380;line-height:1.5}.file-dropzone-status:empty{display:none}.file-dropzone-status.has-error{color:#b33030}
@media(max-width:600px){.file-dropzone-target{padding:16px;gap:12px}.file-dropzone-copy{min-width:130px}.file-dropzone .file-dropzone-choose{justify-content:center;width:100%}.file-dropzone-symbol{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.file-dropzone-target{transition:none}}
