/* Record Studio: the name, the upload and the downloads in a narrow left
   column (as Occlusal view and Photo Prep); the tools in tabs on the right. */
#dq-record-studio { --dqrs-blue: #1f5f7a; --dqrs-line: #d6e3e9; color: #23282d; }
.dqrs-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 20px; align-items: start; }
@media (max-width: 900px) { .dqrs-layout { grid-template-columns: 1fr; } }
.dqrs-side > * + * { margin-top: 12px; }

.dqrs-namebox { background: #fdf6e3; border: 1px solid #ecdcae; border-radius: 6px; padding: 10px 12px; }
.dqrs-namebox label { display: block; font-weight: 600; font-size: 14px; }
.dqrs-req { color: #b32d2e; }
.dqrs-name { display: block; width: 100%; box-sizing: border-box; margin-top: 6px; padding: 8px 10px; font-size: 15px; border: 1px solid #c8b98a; border-radius: 4px; }

.dqrs-upload { background: #eef5f8; border: 2px dashed var(--dqrs-line); border-radius: 6px; padding: 14px 12px; text-align: center; }
.dqrs-upload.over { border-color: var(--dqrs-blue); background: #e3eff4; }
.dqrs-upload p { margin: 8px 0 0; font-size: 13px; color: #4b5563; }

.dqrs-btn { display: inline-block; border: 1px solid var(--dqrs-blue); border-radius: 4px; padding: 8px 14px; font-size: 14px; line-height: 1.3; background: #fff; color: var(--dqrs-blue); cursor: pointer; }
.dqrs-primary { background: var(--dqrs-blue); color: #fff; }
.dqrs-btn:disabled { opacity: .45; cursor: default; }

/* What to do next pulses: the name, then Upload files (as in the tools). */
@keyframes dqrs-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(219, 166, 23, .0); } 50% { box-shadow: 0 0 0 4px rgba(219, 166, 23, .55); } }
.dqrs-flash { animation: dqrs-pulse 1.4s ease-in-out infinite; }

.dqrs-summary { font-size: 14px; font-weight: 600; margin: 0; }
.dqrs-unused { margin: 0; padding-left: 18px; font-size: 13px; color: #8a4b08; }

.dqrs-downloads { border: 1px solid var(--dqrs-line); border-radius: 6px; padding: 10px 12px; }
.dqrs-dl + .dqrs-dl { margin-top: 10px; }
.dqrs-dl .dqrs-btn { width: 100%; }
.dqrs-dl-note { display: block; min-height: 1em; margin-top: 3px; font-size: 12px; color: #4b5563; }
.dqrs-note { display: block; font-size: 12px; color: #6b7280; }

.dqrs-tabs { display: flex; gap: 4px; border-bottom: 2px solid var(--dqrs-line); }
.dqrs-tab { border: 1px solid var(--dqrs-line); border-bottom: none; border-radius: 6px 6px 0 0; background: #f4f8fa; padding: 8px 18px; font-size: 15px; font-weight: 600; color: #4b5563; cursor: pointer; }
.dqrs-tab[aria-selected="true"] { background: var(--dqrs-blue); border-color: var(--dqrs-blue); color: #fff; }
.dqrs-tab-status { font-weight: 400; font-size: 12px; margin-left: 4px; opacity: .9; }
.dqrs-panel { padding-top: 14px; }
.dqrs-empty { color: #6b7280; text-align: center; padding: 30px 0; }

.dqrs-title-version { font-size: 55%; font-weight: 400; color: #6b7280; }
.dqrs-title-beta { font-size: 55%; font-weight: 600; color: #b26200; margin-left: 6px; }
.dqrs-privacy { text-align: center; font-size: 13px; color: #6b7280; }

/* Photo Prep's patient form, under the name: the dentist reads the name from it. */
/* Hidden until Photo Prep shows the form (it keeps a hidden one inside). */
.dqrs-pp-form:empty, .dqrs-pp-form:not(:has(> :not([hidden]))) { display: none; }
.dqrs-pp-form { border: 1px solid var(--dqrs-line); border-radius: 6px; padding: 6px; background: #fff; }
.dqrs-pp-form canvas { max-width: 100%; height: auto; }

/* Occlusal view's terms gate, shown here once before first use. */
.dqov-gate { max-width: 46em; padding: 1em 1.25em; border-left: 4px solid #1f5f7a; background: #f4f8fa; margin: 0 0 1.5em; }
.dqov-gate p { margin: .5em 0; }
