/* Keep file inputs accessible through their labeled controls without exposing
   browser-default file chooser widgets in the product UI. */
input[type="file"][hidden] { display: none !important; }

.import-upload-label { display: block; margin-bottom: 9px; color: #46516a; font-size: 12px; font-weight: 750; }
.import-upload-control { display: flex; align-items: center; gap: 17px; padding: 16px; border: 1px solid #dce2f0; border-radius: 15px; background: linear-gradient(120deg,#fbfcff,#f6f7ff); }
.import-upload-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 0 0 auto; min-height: 48px; padding: 0 17px; border: 1px solid #6871df; border-radius: 10px; background: linear-gradient(115deg,#5e68dc,#8071df); box-shadow: 0 7px 17px rgba(88,96,218,.19); color: #fff; font-size: 12px; font-weight: 750; cursor: pointer; transition: transform .18s,box-shadow .18s; }
.import-upload-button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.import-upload-button:hover { transform: translateY(-1px); box-shadow: 0 10px 21px rgba(88,96,218,.26); }
.import-upload-button:focus-visible,.profile-cover-picker:focus-within,.story-avatar-upload:focus-within { outline: 3px solid rgba(104,113,223,.32); outline-offset: 2px; }
.import-upload-button:disabled { opacity: .66; cursor: wait; transform: none; }
.import-upload-copy { display: grid; gap: 4px; min-width: 0; }
.import-upload-copy strong { overflow: hidden; color: #4b5874; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.import-upload-copy small { color: #8b96aa; font-size: 10px; line-height: 1.45; }
.profile-cover-picker { display: grid; gap: 4px; min-width: 165px; padding: 12px 15px; border: 1px solid #cfd6f1; border-radius: 12px; background: linear-gradient(130deg,#fff,#f4f5ff); color: #6770a4; cursor: pointer; transition: border-color .18s,transform .18s,box-shadow .18s; }
.profile-cover-picker:hover { transform: translateY(-1px); border-color: #9ca7e7; box-shadow: 0 7px 16px rgba(88,96,218,.11); }
.profile-cover-picker span { font-size: 10px; font-weight: 650; }
.profile-cover-picker strong { color: #5763cb; font-size: 13px; }
.profile-cover-picker small { color: #9aa3b4; font-size: 10px; }
.story-avatar-upload { cursor: pointer; }
.story-avatar-pick { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 14px; border: 1px solid #bfc8ed; border-radius: 10px; background: linear-gradient(120deg,#fff,#f3f5ff); color: #5965ce; font-size: 12px; font-weight: 750; transition: background .18s,border-color .18s; }
.story-avatar-upload:hover .story-avatar-pick { border-color: #8996e6; background: #edf0ff; }
.story-confirm-dialog { max-width: min(390px,calc(100vw - 32px)); }
.story-confirm-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 22px; }
.story-confirm-actions button { min-height: 40px; padding: 0 15px; border: 1px solid #d6ddec; border-radius: 9px; background: #fff; color: #68748b; font-size: 12px; font-weight: 700; cursor: pointer; }
.story-confirm-actions [data-story-new-confirm] { border-color: #626bdc; background: #626bdc; color: #fff; }
.k1-input-dialog { width: min(410px,calc(100vw - 32px)); max-width: none; padding: 0; border: 1px solid #e0e4f2; border-radius: 17px; background: #fff; color: #273248; box-shadow: 0 24px 70px rgba(22,30,63,.24); }
.k1-input-dialog::backdrop { background: rgba(21,28,55,.52); backdrop-filter: blur(5px); }
.k1-input-dialog form,.k1-input-dialog section { display: grid; gap: 15px; padding: 24px; }
.k1-dialog-kicker { color: #7370d9; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.k1-input-dialog h2 { margin: 0; font-size: 18px; line-height: 1.45; }
.k1-input-dialog input { width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid #d9deec; border-radius: 9px; outline: none; background: #fafbff; color: #26334d; font-size: 13px; }
.k1-input-dialog input:focus { border-color: #8e96e8; box-shadow: 0 0 0 3px rgba(106,113,223,.12); }
.k1-dialog-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 5px; }
.k1-dialog-actions button { min-width: 80px; min-height: 39px; padding: 0 13px; border: 1px solid #dce1ef; border-radius: 9px; background: #fff; color: #67738c; font-size: 12px; font-weight: 750; cursor: pointer; }
.k1-dialog-actions button:last-child { border-color: #6871dc; background: linear-gradient(110deg,#6069dc,#8172dc); color: #fff; }
@media(max-width:560px) { .import-upload-control { display: grid; gap: 11px; padding: 13px; }.import-upload-button { width: 100%; }.profile-cover-picker { width: 100%; }.import-upload-copy { padding: 0 2px; } }

/* Text entry uses a soft border and halo instead of the browser's square focus ring. */
body :is(input:not([type]), input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], input[type="url"], input[type="date"], input[type="datetime-local"], input[type="time"], textarea, select):focus-visible {
  outline: none !important;
  border-radius: 9px;
  border-color: #9baec8;
  box-shadow: 0 0 0 3px rgba(97, 125, 163, .12);
  transition: border-color .18s ease, box-shadow .18s ease;
}
