.save-error {
  padding: 12px 14px;
  border: 1px solid #e8b8b8;
  border-radius: 12px;
  background: #fff0f0;
  color: var(--danger);
  font-size: 12px;
  line-height: 1.5;
}

.settings-card {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--card);
}

.settings-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.settings-title strong,
.settings-title small { display: block; }
.settings-title strong { font-size: 15px; }
.settings-title small,
.settings-note { margin-top: 4px; color: var(--muted); font-size: 11px; }
.settings-title > span { color: var(--primary); font-size: 12px; font-weight: 800; }
.option-list { display: grid; gap: 8px; }
.option-card { display: flex; align-items: center; gap: 12px; min-height: 62px; padding: 10px 13px; border: 1px solid var(--line); border-radius: 13px; cursor: pointer; }
.option-card:has(input:checked) { border-color: var(--primary); background: var(--primary-2); }
.option-card input { width: 17px; height: 17px; accent-color: var(--primary); }
.option-card span strong,
.option-card span small { display: block; }
.option-card span strong { font-size: 13px; }
.option-card span small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.language-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.language-chip { position: relative; display: grid; place-items: center; gap: 5px; min-height: 92px; border: 1px solid var(--line); border-radius: 14px; cursor: pointer; }
.language-chip:has(input:checked) { border-color: var(--primary); background: var(--primary-2); color: var(--primary); }
.language-chip input { position: absolute; top: 8px; right: 8px; width: 15px; height: 15px; accent-color: var(--primary); }
.language-chip span { font-size: 23px; font-weight: 800; }
.language-chip strong { font-size: 12px; }
.settings-note { margin: 12px 2px 0; line-height: 1.5; }
.engine-list .option-card em { margin-left: 5px; padding: 2px 6px; border-radius: 6px; background: var(--primary-2); color: var(--primary); font-size: 9px; font-style: normal; }
.option-card.unsupported { opacity: .5; cursor: not-allowed; }
.ai-option:has(input:checked) { border-color: #7c5ce0; background: #f0ecff; }
.api-key-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.api-key-row input { min-width: 0; height: 48px; border: 1px solid var(--line); border-radius: 12px; padding: 0 13px; background: var(--paper); color: var(--ink); outline: none; }
.api-key-row input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-2); }
@media(max-width:520px){.api-key-row{grid-template-columns:1fr}.api-key-row .primary-btn{width:100%}}
.log-actions { display: flex; gap: 8px; }
.log-actions button { flex: 1; }
.error-log-view { max-height: 360px; margin: 12px 0 0; padding: 13px; overflow: auto; border: 1px solid var(--line); border-radius: 12px; background: #171b18; color: #dce8e0; font: 11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace; white-space: pre-wrap; word-break: break-word; }
.search-wrap .search-input { padding-right: 118px; }
.search-wrap .clear-search { right: 72px; }
.search-submit { position: absolute; top: 7px; right: 7px; height: 38px; padding: 0 15px; border: 0; border-radius: 11px; background: var(--primary); color: #fff; font-size: 13px; font-weight: 800; }
.user-create-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; gap: 8px; }
.user-create-form input { min-width: 0; height: 48px; border: 1px solid var(--line); border-radius: 12px; padding: 0 13px; background: var(--paper); color: var(--ink); outline: none; }
.user-create-form input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-2); }
.user-list { display: grid; gap: 8px; margin-top: 16px; }
.user-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 13px; border: 1px solid var(--line); border-radius: 12px; }
.user-item strong,.user-item small { display: block; }
.user-item strong { font-size: 13px; }
.user-item small,.user-item > span,.user-list-empty { margin-top: 3px; color: var(--muted); font-size: 11px; }
@media(max-width:700px){.user-create-form{grid-template-columns:1fr}.user-create-form .primary-btn{width:100%}.user-item{align-items:flex-start}}
.upload-actions button { width: 100%; }
.paste-hint { display: block; margin-top: 13px; color: var(--muted); font-size: 11px; }
.login-page { width: 100%; max-width: 820px; padding-top: clamp(48px,10vh,110px); }
.login-card { display: grid; gap: 30px; padding: 30px; }
.login-intro .brand { display: flex; align-items: center; gap: 10px; margin-bottom: 34px; color: var(--ink); text-decoration: none; font-size: 21px; font-weight: 900; }
.login-intro .brand-mark { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--primary); color: #fff; }
.login-intro h1 { margin: 0 0 10px; font-size: clamp(30px,5vw,44px); line-height: 1.15; letter-spacing: -.045em; }
.login-intro > p:last-child { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.login-error { margin: 0; color: var(--danger); font-size: 12px; }
@media(min-width:760px){.login-card{grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:center;padding:48px 54px;min-height:430px}.login-form{padding-left:30px;border-left:1px solid var(--line)}}
@media(min-width:1024px){.app-shell.auth-mode{display:block}.app-shell.auth-mode main{padding:0 40px 60px}.app-shell.auth-mode .login-page{max-width:920px}}
.login-language { display: grid; grid-template-columns: auto minmax(120px,170px); align-items: center; gap: 10px; margin: -18px 0 26px; color: var(--muted); font-size: 12px; font-weight: 700; }
.locale-select,.login-language select { width: 100%; height: 46px; padding: 0 38px 0 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--ink); outline: none; }
.locale-select:focus,.login-language select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px var(--primary-2); }
@media(min-width:1024px){.side-nav a > span:last-child{font-size:14px}}
.folder-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:2px 0 9px; }
.folder-head strong { font-size:13px; }
.folder-head a { color:var(--primary); font-size:12px; font-weight:800; text-decoration:none; }
.folder-chips { display:flex; gap:8px; overflow:auto; padding:1px 0 16px; scrollbar-width:none; }
.folder-chip { flex:0 0 auto; min-height:38px; padding:0 13px; border:1px solid var(--line); border-radius:11px; background:var(--card); color:var(--muted); font-size:12px; font-weight:750; }
.folder-chip small { margin-left:4px; opacity:.75; }
.folder-chip.active { border-color:var(--primary); background:var(--primary-2); color:var(--primary); }
.doc-folder { margin:-2px 0 7px; overflow:hidden; color:var(--primary); font-size:10px; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.detail-folder { display:inline-flex; margin-left:7px; color:var(--primary); font-size:11px; font-weight:750; }
.load-more { display:block; width:min(320px,100%); margin:22px auto 0; }
.consorcio-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.4fr) auto; gap:8px; }
.consorcio-form input { min-width:0; height:48px; border:1px solid var(--line); border-radius:12px; padding:0 13px; background:var(--paper); color:var(--ink); outline:none; }
.consorcio-form input:focus { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-2); }
.consorcio-list { display:grid; gap:8px; margin-top:16px; }
.consorcio-item { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 13px; border:1px solid var(--line); border-radius:12px; }
.consorcio-item strong,.consorcio-item small { display:block; }
.consorcio-item strong { font-size:13px; }
.consorcio-item small,.consorcio-item-actions span { margin-top:3px; color:var(--muted); font-size:11px; }
.consorcio-item-actions { display:flex; align-items:center; gap:9px; white-space:nowrap; }
.consorcio-item-actions .ghost-btn { min-height:34px; padding:0 10px; color:var(--danger); font-size:11px; }
.folder-page { max-width:1000px; }
.folder-management-list { display:grid; gap:14px; }
.page-description { max-width:650px; margin:9px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.folder-empty { display:grid; place-items:center; gap:5px; padding:46px 20px; color:var(--muted); text-align:center; }
.folder-empty span { margin-bottom:4px; color:var(--primary); font-size:34px; }
.folder-empty strong { color:var(--ink); font-size:14px; }
.folder-empty small { font-size:11px; }
.category-form { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:8px; }
.category-form > input { min-width:0; height:48px; border:1px solid var(--line); border-radius:12px; padding:0 13px; background:var(--paper); color:var(--ink); outline:none; }
.category-form > input:focus { border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-2); }
.color-field { display:flex; align-items:center; gap:8px; height:48px; padding:0 10px 0 13px; border:1px solid var(--line); border-radius:12px; color:var(--muted); font-size:11px; font-weight:750; }
.color-field input { width:32px; height:32px; padding:2px; border:0; border-radius:8px; background:transparent; cursor:pointer; }
.category-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:16px; }
.category-item { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; min-height:62px; padding:10px 12px; border:1px solid var(--line); border-radius:12px; }
.category-color { width:13px; height:36px; border-radius:7px; background:var(--category-color,#e7e8e5); }
.category-item strong,.category-item small { display:block; }
.category-item strong { font-size:13px; }
.category-item small { margin-top:3px; color:var(--muted); font-size:10px; }
.category-item .ghost-btn { min-height:34px; padding:0 10px; color:var(--danger); font-size:11px; }
@media(max-width:520px){.bottom-nav{padding-left:8px;padding-right:8px}.bottom-nav a{min-width:62px}.bottom-nav small{font-size:10px}}
@media(max-width:850px){.consorcio-form{grid-template-columns:1fr 1fr}.consorcio-form input[name="address"]{grid-column:1/-1}.consorcio-form .primary-btn{grid-column:1/-1}}
@media(max-width:650px){.category-list{grid-template-columns:1fr}}
@media(max-width:520px){.consorcio-form,.category-form{grid-template-columns:1fr}.consorcio-form input[name="address"],.consorcio-form .primary-btn{grid-column:auto}.category-form .primary-btn{width:100%}.consorcio-item{align-items:flex-start}.consorcio-item-actions{flex-direction:column;align-items:flex-end}}
