:root{color-scheme:dark;--bg:#111113;--sidebar:#161618;--surface:#1b1b1e;--surface-hover:#222225;--line:#2a2a2e;--text:#f2f1f2;--muted:#949398;--red:#ed6268;--red-bg:#332024;--radius:18px;font-family:'Segoe UI',system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:4px}input:focus,select:focus,textarea:focus{outline:1px solid var(--red);border-color:var(--red)}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:var(--sidebar);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:35px 20px 0;z-index:20}.brand{display:flex;align-items:center;font-size:35px;font-weight:650;letter-spacing:-1.8px;padding:0 12px}.brand-mark{background:var(--red);color:#171315;display:grid;place-items:center;width:37px;height:37px;border-radius:12px;margin-right:12px}.brand-mark svg{width:26px;height:26px;stroke-width:1.8}.brand-dot{color:var(--red)}.main-nav{display:grid;gap:7px}.nav-item{display:flex;width:100%;align-items:center;gap:12px;text-align:left;padding:13px 12px;border-radius:11px;color:#aaa9b0;font-size:13px;min-height:46px}.nav-item:hover,.tree-row:hover{background:#202023;color:var(--text)}.nav-item.active{background:var(--red-bg);color:#f27b80}.nav-item .count{margin-left:auto;color:#89878e;font-size:11px;font-variant-numeric:tabular-nums}.nav-item.active .count{color:var(--red)}.section-label{display:flex;align-items:center;justify-content:space-between;margin:34px 8px 10px 12px;color:#7e7d84;font-size:10px;letter-spacing:1.8px;font-weight:600}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;color:var(--muted);flex-shrink:0}.icon-button:hover{background:#303035;color:var(--text)}.icon-button svg{width:18px;height:18px}.folder-tree{overflow:auto;flex:1;min-height:60px}.tree-row{display:flex;align-items:center;border-radius:9px;min-height:43px;color:#a5a4ab;margin-bottom:3px}.tree-row.active{color:var(--text);background:#27272b}.tree-toggle{width:25px;height:36px;display:grid;place-items:center;color:#75747c;flex-shrink:0}.tree-toggle svg{width:12px;height:12px;transition:transform .15s}.tree-toggle.expanded svg{transform:rotate(90deg)}.tree-link{display:flex;align-items:center;gap:11px;text-align:left;flex:1;min-width:0;font-size:13px;padding:8px 8px 8px 0}.tree-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-link svg{width:18px;height:18px;color:#aaa8b0}.tree-link small{margin-left:auto;color:#72717a;font-size:10px}.tree-indent{margin-left:21px;border-left:1px solid #303035;padding-left:2px}.sidebar-bottom{padding-top:30px}.account{display:flex;gap:10px;align-items:center;border-top:1px solid var(--line);padding:22px 6px 25px}.avatar{display:grid;place-items:center;background:#393036;color:#f0c1c4;width:34px;height:34px;border-radius:50%;font-size:13px}.account strong{display:block;font-size:11px;font-weight:500}.account small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.account>svg{margin-left:auto;width:15px;color:#737179}main{margin-left:252px}.topbar{height:79px;border-bottom:1px solid var(--line);padding:0 46px;display:flex;align-items:center;justify-content:space-between}.topbar-location{display:flex;gap:10px;align-items:center;font-size:12px;color:#aaa9b0}.topbar-location svg{width:17px;color:#7a7881}.content{max-width:1440px;margin:auto;padding:37px 46px 0}.breadcrumbs{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;min-height:16px;margin-bottom:23px;flex-wrap:wrap}.breadcrumbs svg{width:11px;height:11px;color:#605e67}.breadcrumbs button{color:var(--muted);padding:0}.breadcrumbs button:hover{color:var(--red)}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;color:#a3a0a9;margin-bottom:10px}h1{font-weight:600;letter-spacing:-1.4px;font-size:39px;line-height:1.15;margin:0;overflow-wrap:anywhere}h1 span{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:10px;padding:12px 18px;font-size:12px;font-weight:600;min-height:43px;white-space:nowrap}.button svg{width:17px;height:17px}.primary{background:var(--red);color:#1b1113}.primary:hover{background:#fa7a7f}.secondary{background:#29292e;color:#d6d4db}.secondary:hover{background:#36363c}.button:disabled{opacity:.5;cursor:wait}.content-label{font-size:9px;letter-spacing:1.8px;color:#8d8a95;margin-bottom:13px}.folder-section{margin-bottom:33px}.folder-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.folder-card{display:flex;align-items:center;gap:11px;border:1px solid #2b2a2f;border-radius:13px;text-align:left;padding:16px;background:#18181b;min-width:0}.folder-card:hover{border-color:#645055;background:#212023}.folder-card>svg{color:#c8a3a6;width:23px;height:23px}.folder-card>span{overflow:hidden}.folder-card strong{font-size:12px;font-weight:500;display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.folder-card small{font-size:10px;display:block;color:#85818c;margin-top:5px}.folder-card .folder-chevron{width:13px;margin-left:auto;color:#77717c}.entries-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}h2{font-size:17px;font-weight:550;letter-spacing:-.3px;margin:0}h2>span{font-size:11px;color:#87838d;background:#27262c;border-radius:6px;padding:3px 6px;margin-left:7px;vertical-align:middle}.view-switch{display:flex;padding:3px;gap:2px;border:1px solid var(--line);border-radius:10px}.view-switch .icon-button{height:28px;width:31px;border-radius:6px}.view-switch .active{background:#333138;color:#f4e9eb}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:21px}.filters{display:flex;gap:5px;flex-shrink:0}.filter{font-size:11px;color:#918d98;padding:8px 11px;border-radius:8px;white-space:nowrap}.filter:hover{background:#242228}.filter.active{background:#322226;color:#f58a90}.search-sort{display:flex;gap:12px;align-items:center;min-width:0}.search{display:flex;align-items:center;gap:9px;border:1px solid #302d34;background:#19181c;border-radius:9px;padding:8px 10px;max-width:240px;min-width:140px}.search svg{width:15px;height:15px;color:#7c7784}.search input{border:0;background:none;color:var(--text);width:100%;min-width:0;outline:none;font-size:11px;padding:0}.search:focus-within{border-color:var(--red)}kbd{font-family:inherit;color:#716b78;border:1px solid #37313c;border-radius:3px;padding:0 4px;font-size:10px}.search-sort select{font-size:10px;color:#a5a0ac;background:transparent;border:0;padding:7px 0;max-width:135px}.entries-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.entry-card{position:relative;background:var(--surface);border:1px solid #2b292f;border-radius:var(--radius);min-width:0;transition:background .15s,border-color .15s,transform .15s}.entry-card:hover{background:#222125;border-color:#52434a;transform:translateY(-2px)}.entry-open{display:block;width:100%;text-align:left;padding:21px 21px 15px;border-radius:var(--radius);min-width:0}.entry-card-top{display:flex;align-items:center;gap:10px;margin-bottom:21px}.service-icon{display:grid;place-items:center;background:#303034;color:#eae6ef;width:39px;height:39px;border-radius:12px;font-size:16px;font-weight:600;letter-spacing:-.5px;flex-shrink:0}.service-icon.orange{background:#392b23;color:#e8b88d}.service-icon.purple{background:#2e263b;color:#bfa0e8;font-size:13px}.service-icon.green{background:#20372b;color:#87d9a7}.service-icon.blue{background:#242e40;color:#9fbfee}.service-icon.pink{background:#3b2731;color:#e6aac5}.service-icon.teal{background:#203535;color:#91d0c9}.type-tag{font-size:9px;color:#a19ba8;margin-left:auto;padding-right:26px}.entry-card h3{font-size:15px;font-weight:550;margin:0 0 8px;letter-spacing:-.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-preview{font-size:11px;color:#9b95a2;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:16px}.entry-bottom{display:flex;align-items:center;gap:7px;justify-content:space-between;margin-top:24px;padding-top:13px;border-top:1px solid #2e2b32;color:#817b88;font-size:9px;min-width:0}.entry-bottom>span{display:flex;align-items:center;gap:5px;min-width:0}.entry-bottom .entry-folder-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}.entry-bottom svg{width:12px;height:12px}.entry-bottom time{white-space:nowrap}.favorite-toggle{position:absolute;right:14px;top:20px;width:28px;height:28px;border-radius:7px;display:grid;place-items:center;color:#68616f}.favorite-toggle:hover{background:#383038;color:#d6b1b5}.favorite-toggle svg{width:15px;height:15px}.favorite-toggle.is-favorite{color:#e8b47a}.favorite-toggle.is-favorite svg{fill:#e8b47a22}.entry-shared-label{font-size:9px;color:#b3a4c6;padding:0 21px 14px;display:flex;align-items:center;gap:6px}.entry-shared-label svg{width:12px;height:12px}.entries-grid.list{grid-template-columns:1fr}.list .entry-open{display:grid;grid-template-columns:60px 1fr 1.2fr 1fr;align-items:center;gap:10px;padding:16px 55px 16px 20px}.list .entry-card-top{margin:0}.list .type-tag{display:none}.list .entry-open h3{margin:0}.list .entry-bottom{margin:0;padding:0;border:0}.list .favorite-toggle{top:22px;right:16px}.list .entry-shared-label{padding-left:90px}.content-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #29262e;margin-top:35px;padding:22px 0 25px;font-size:9px;color:#77717f}.content-footer>span:first-child{display:flex;align-items:center;gap:7px}.content-footer svg{width:12px;height:12px}.empty-state{text-align:center;padding:55px 15px 65px;border:1px dashed #39303d;border-radius:var(--radius)}.empty-icon{display:grid;place-items:center;width:50px;height:50px;margin:auto;background:var(--red-bg);color:var(--red);border-radius:16px}.empty-state h3{font-size:17px;font-weight:500}.empty-state p{color:var(--muted);font-size:12px;margin-bottom:24px}.mobile-menu{display:none}dialog{border:1px solid #3b333e;background:#1b191e;color:var(--text);border-radius:22px;padding:0;width:min(500px,calc(100% - 32px));max-height:90dvh;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#070609b8;backdrop-filter:blur(6px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:25px 26px 18px}.dialog-header h2{font-size:23px;overflow-wrap:anywhere}.dialog-header .eyebrow{font-size:8px}.form-body{padding:0 26px 15px}.form-body label{display:block;margin:15px 0;font-size:11px;color:#c6bdcd}.form-body input:not([type=checkbox]),.form-body select,.form-body textarea{display:block;width:100%;border:1px solid #3a323f;border-radius:9px;background:#141217;color:var(--text);padding:11px 12px;margin-top:8px;font-size:12px}.form-body textarea{resize:vertical;min-height:80px}.optional{color:#78717f;font-size:10px;margin-left:4px}.input-action{display:flex;align-items:center;border:1px solid #3a323f;border-radius:9px;background:#141217;margin-top:8px;padding-right:5px}.form-body .input-action input{border:0;margin:0;background:none}.form-body .checkbox-label{display:flex;gap:9px;align-items:center}.checkbox-label input,.pair-row input[type=checkbox]{accent-color:var(--red)}.dialog-footer{display:flex;justify-content:flex-end;gap:9px;padding:18px 26px 24px;border-top:1px solid #302936}.form-error{color:#f08e93;font-size:12px;line-height:1.5;overflow-wrap:anywhere}.form-error:empty{display:none}.field-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#c6bdcd;margin-top:20px}.text-button{color:var(--red);font-size:11px;padding:5px 0}.pair-row{display:grid;grid-template-columns:1fr 1.3fr 32px;gap:7px;margin-bottom:12px}.pair-row label{grid-column:1/3;margin:0!important;font-size:10px!important}.pair-row .icon-button{margin-top:10px}.detail-hero{display:flex;gap:15px;align-items:center;padding:8px 26px 24px}.detail-hero .service-icon{width:52px;height:52px;border-radius:16px;font-size:20px}.detail-hero p{font-size:11px;color:var(--muted);margin:7px 0 0}.detail-fields{padding:0 26px 20px}.detail-field{margin-top:12px;background:#141217;border:1px solid #302936;border-radius:12px;padding:13px 12px}.detail-field-label{display:block;color:#918796;font-size:10px;margin-bottom:6px}.detail-value-row{display:flex;align-items:center;gap:5px;min-height:30px}.detail-value-row code,.detail-value-row a{flex:1;min-width:0;overflow-wrap:anywhere;font-family:inherit;font-size:12px;line-height:1.7}.detail-value-row code.masked{letter-spacing:3px;color:#b5a6bb}.detail-value-row a{color:#e5b5be}.detail-note{color:#b1a6b8;font-size:12px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.detail-meta{font-size:10px;color:#8c7f95;margin-top:20px}.read-only{padding:12px 14px;background:#282130;border:1px solid #403248;border-radius:10px;color:#c4acd5;font-size:11px;line-height:1.7;margin-bottom:18px}.detail-dialog .dialog-footer{justify-content:space-between}.detail-actions{display:flex;gap:8px}.danger-button{color:#ed959a}.toast{position:fixed;bottom:max(28px,env(safe-area-inset-bottom));left:calc(50% + 126px);transform:translateX(-50%);background:#39303b;border:1px solid #66516a;color:#f7eaf9;padding:13px 22px;border-radius:12px;font-size:12px;box-shadow:0 8px 40px #0006;z-index:100;max-width:90vw;text-align:center}.sidebar-backdrop{position:fixed;inset:0;background:#0009;z-index:19}
@media(min-width:1600px){.content{padding-top:46px}.entries-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.entry-open{padding:24px}.entry-card-top{margin-bottom:28px}.entry-bottom{margin-top:30px}}
@media(max-width:1200px){.sidebar{width:226px;padding-left:15px;padding-right:15px}main{margin-left:226px}.content{padding-left:30px;padding-right:30px}.topbar{padding:0 30px}.toolbar{align-items:flex-start;flex-direction:column}.search-sort{width:100%;justify-content:space-between}.search{flex:1;max-width:320px}.folder-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.toast{left:calc(50% + 113px)}}
@media(max-width:960px){.entries-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.list .entry-open{grid-template-columns:45px 1fr}.list .entry-preview{grid-column:2}.list .entry-card-top{grid-row:1/4}.list .entry-bottom{grid-column:2}.list .entry-shared-label{padding-left:75px}}
@media(max-width:720px){.sidebar{transform:translateX(-100%);width:260px;transition:transform .2s;padding-top:max(25px,env(safe-area-inset-top))}.sidebar.open{transform:translateX(0)}main{margin-left:0}.topbar{height:64px;padding:0 20px;gap:14px}.mobile-menu{display:inline-flex}.topbar-location{margin-right:auto;font-size:11px}.content{padding:26px 20px 0}.breadcrumbs{margin-bottom:25px}h1{font-size:31px}.eyebrow{font-size:8px;letter-spacing:1.6px}.folder-section{margin-bottom:28px}.folder-card{padding:14px 12px}.folder-card strong{font-size:11px}.folder-card small{font-size:9px}.folder-cards{gap:8px}.entries-header{margin-bottom:16px}h2{font-size:16px}.toolbar{gap:15px}.filter{font-size:10px;padding:8px 10px}.search{max-width:none}.search-sort{gap:10px}.search-sort select{max-width:118px;font-size:9px}.entries-grid{gap:10px}.entry-card{border-radius:14px}.entry-open{padding:15px 13px 12px}.entry-card-top{margin-bottom:19px}.service-icon{width:33px;height:33px;font-size:14px;border-radius:10px}.type-tag{font-size:8px;padding-right:14px}.entry-card h3{font-size:13px}.entry-preview{font-size:10px}.favorite-toggle{right:6px;top:16px;width:24px;height:24px}.favorite-toggle svg{width:13px;height:13px}.entry-bottom{font-size:8px;margin-top:20px;gap:5px;flex-wrap:wrap}.entry-bottom .entry-folder-name{max-width:75px}.entry-shared-label{padding:0 13px 13px;line-height:1.5;font-size:8px}.content-footer{line-height:1.7;font-size:8px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.content-footer>span+span{display:none}.toast{left:50%;width:max-content;max-width:calc(100vw - 30px)}dialog{max-height:92dvh}.dialog-header{padding:22px 20px 16px}.form-body,.detail-fields{padding-left:20px;padding-right:20px}.dialog-footer{padding:17px 20px 20px}.detail-hero{padding-left:20px;padding-right:20px}}
@media(max-width:365px){.entries-grid{grid-template-columns:1fr}.type-tag{font-size:10px;padding-right:25px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Transparent scrollbar tracks, including nested folders and dialogs. */
* { scrollbar-width: thin; scrollbar-color: var(--red) transparent; }
::-webkit-scrollbar { width: 6px; height: 6px; background: transparent; }
::-webkit-scrollbar-track, ::-webkit-scrollbar-corner { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--red); border-radius: 999px; }
::-webkit-scrollbar-thumb:hover { background: #fa7a7f; }
::-webkit-scrollbar-button { display: none; }

/* One navigation control for both desktop collapse and mobile overlay. */
.mobile-menu { display: inline-flex; }
.topbar { gap: 14px; }
.topbar-location { margin-right: auto; }
.toast { margin: 0; top: auto; right: auto; width: max-content; }
.toast::backdrop { background: transparent; }
.toast:popover-open { display: block; }
dialog > .toast { left: 50%; max-width: calc(100vw - 32px); }
@media (min-width: 721px) {
  body.sidebar-collapsed .sidebar { transform: translateX(-100%); }
  body.sidebar-collapsed main { margin-left: 0; }
  body.sidebar-collapsed .toast { left: 50%; }
}

/* Chromium/WebView: use the custom thumb and suppress native arrow buttons. */
@supports selector(::-webkit-scrollbar) {
  * { scrollbar-width: auto; scrollbar-color: auto; }
}

/* Consistent dropdowns in the page and in modal forms. */
.custom-select { display: block; position: relative; min-width: 0; margin-top: 8px; }
.select-trigger { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; padding: 11px 12px; border: 1px solid #3a323f; border-radius: 10px; background: #141217; color: var(--text); text-align: left; font-size: 12px; }
.select-trigger > span:first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.select-trigger:hover { border-color: #69515b; background: #211b21; }
.select-trigger:focus-visible, .select-trigger[aria-expanded="true"] { outline: 2px solid var(--red); outline-offset: 2px; border-radius: 10px; }
.select-arrow { color: var(--red); font-size: 15px; flex-shrink: 0; }
.select-menu { position: fixed; inset: auto; margin: 0; padding: 5px; border: 1px solid #4b363e; border-radius: 12px; background: #231e23; color: var(--text); box-shadow: 0 12px 40px #0008; overflow-y: auto; overscroll-behavior: contain; }
.select-option { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 10px; min-height: 38px; border-radius: 7px; font-size: 12px; cursor: pointer; }
.select-option > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.select-option:hover, .select-option.highlighted { background: #3a2931; }
.select-option[aria-selected="true"] { color: #fa9398; }
.sort-select { margin-top: 0; flex-shrink: 0; max-width: 175px; }
.sort-select .select-trigger { padding: 8px 10px; font-size: 10px; background: #19181c; border-color: #302d34; }
.detail-value-row code { white-space: pre-wrap; }
#text-fields textarea { min-height: 190px; line-height: 1.8; }
#discard-dialog .form-body p { color: var(--muted); line-height: 1.7; }
.filters { flex-wrap: wrap; }
@media (max-width: 720px) {
  .sort-select { max-width: 142px; }
  .sort-select .select-trigger { font-size: 9px; gap: 8px; padding: 8px; }
}

/* File-backed SVG masks inherit a contrast-tested foreground color. */
.custom-icon { background: var(--icon-background); color: var(--icon-foreground); flex-shrink: 0; }
.icon-glyph { display: block; width: 22px; height: 22px; background: var(--icon-foreground); -webkit-mask: var(--icon-url) center / contain no-repeat; mask: var(--icon-url) center / contain no-repeat; }
.tree-link .custom-icon { display: grid; width: 25px; height: 25px; min-width: 25px; border-radius: 7px; overflow: visible; }
.tree-link .icon-glyph { width: 16px; height: 16px; }
.folder-card > .custom-icon { width: 35px; height: 35px; border-radius: 10px; }
.folder-card .icon-glyph { width: 21px; height: 21px; }
.detail-hero .icon-glyph { width: 30px; height: 30px; }
.folder-edit { width: 25px; height: 29px; margin-right: 4px; opacity: .55; }
.folder-edit svg { width: 13px; height: 13px; }
.tree-row:hover .folder-edit, .folder-edit:focus-visible { opacity: 1; }

.appearance-fieldset { min-width: 0; margin: 20px 0; padding: 15px; border: 1px solid #3a323f; border-radius: 13px; }
.appearance-fieldset legend { padding: 0 7px; font-size: 11px; color: #c6bdcd; }
.appearance-top { display: flex; gap: 16px; align-items: center; }
.appearance-preview .custom-icon { width: 52px; height: 52px; border-radius: 15px; }
.appearance-preview .icon-glyph { width: 29px; height: 29px; }
.form-body .icon-color-label { margin: 0; }
.color-input-row { display: flex; align-items: center; gap: 9px; margin-top: 7px; }
.form-body input[type="color"] { width: 35px; height: 30px; margin: 0; padding: 2px; border-radius: 7px; cursor: pointer; }
.icon-color-value { font-size: 11px; color: var(--muted); }
.form-body input.icon-color-value { width: 106px; margin: 0; padding: 7px 9px; font-size: 12px; font-family: ui-monospace, monospace; color: var(--text); }
.form-body input.icon-color-value[aria-invalid="true"] { border-color: var(--red); }
.icon-colors { display: flex; gap: 10px; margin: 17px 0; flex-wrap: wrap; }
.color-choice { width: 23px; height: 23px; border-radius: 50%; background: var(--swatch); border: 1px solid #ffffff30; }
.color-choice[aria-pressed="true"] { outline: 2px solid var(--red); outline-offset: 3px; }
.icon-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 7px; max-height: 240px; overflow: auto; padding: 4px; }
.icon-choice { display: flex; flex-direction: column; align-items: center; gap: 8px; border: 1px solid #39313c; border-radius: 10px; padding: 10px 5px; background: #141217; min-width: 0; }
.icon-choice > span:last-child { font-size: 9px; color: #b6aeba; max-width: 100%; overflow-wrap: anywhere; }
.icon-choice:hover { border-color: #8d5e6b; }
.icon-choice[aria-pressed="true"] { border-color: var(--red); background: #312027; }
.icon-choice .custom-icon { width: 32px; height: 32px; border-radius: 9px; }
.icon-choice .icon-glyph { width: 21px; height: 21px; }
@media(max-width:720px) {
  
  
  
  .folder-edit { opacity: .8; }
}

/* Compact header: primary action has one stable home on every screen size. */
.main-nav { margin-top: 34px; }
.topbar #new-entry { margin-left: auto; flex-shrink: 0; }
.sidebar-bottom { padding-top: 14px; }
.shared-nav-icon { display: block; width: 20px; height: 20px; flex-shrink: 0; background: currentColor; -webkit-mask: url('./media/shared.svg') center / contain no-repeat; mask: url('./media/shared.svg') center / contain no-repeat; }
.icon-picker-menu { margin-top: 12px; }
.icon-picker-menu summary { display: flex; gap: 10px; align-items: center; padding: 11px 12px; background: #141217; border: 1px solid #3a323f; border-radius: 10px; list-style: none; cursor: pointer; font-size: 11px; }
.icon-picker-menu summary::-webkit-details-marker { display: none; }
.icon-selection-label { color: var(--muted); margin-left: auto; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.icon-picker-menu[open] summary { border-color: #8d5e6b; margin-bottom: 8px; }
.icon-picker-menu[open] summary .select-arrow { transform: rotate(180deg); }
.icon-picker-menu .icon-choices { max-height: 220px; }

/* Use in-bounds focus rings only after navigation keys, never media keys. */
button, summary { appearance: none; }
button:focus, button:focus-visible, a:focus-visible, summary:focus, summary:focus-visible { outline: none !important; }
.select-trigger:focus-visible { box-shadow: none; }
.select-trigger[aria-expanded="true"] { outline: none; border-color: var(--red); box-shadow: inset 0 0 0 1px var(--red); }
body.keyboard-navigation button:focus-visible, body.keyboard-navigation a:focus-visible, body.keyboard-navigation summary:focus-visible { box-shadow: inset 0 0 0 2px var(--red); }
.color-choice[aria-pressed="true"] { outline: none; box-shadow: 0 0 0 2px #1b191e, 0 0 0 4px var(--red); }
@media(max-width:720px) {
  .topbar { padding: 0 16px; gap: 12px; }
  .topbar-location span { display: none; }
  .topbar #new-entry { min-height: 38px; padding: 9px 12px; font-size: 11px; }
  .content { padding-top: 22px; }
}

/* The same file-backed star is used for navigation and per-entry favorites. */
.asset-star { display: inline-block; width: 20px; height: 20px; flex-shrink: 0; background: currentColor; -webkit-mask: url('./media/star.svg') center / contain no-repeat; mask: url('./media/star.svg') center / contain no-repeat; }
.favorite-toggle .asset-star { width: 15px; height: 15px; }
.button .asset-star { width: 17px; height: 17px; }
.entry-card { --entry-block-padding: 21px; --entry-icon-size: 39px; }
.entries-grid:not(.list) .favorite-toggle { top: calc(var(--entry-block-padding) + var(--entry-icon-size) / 2); transform: translateY(-50%); }
.entries-grid:not(.list) .type-tag { line-height: 1; }
.entries-grid.list .favorite-toggle { top: 50%; transform: translateY(-50%); }
.tree-toggle { font-size: 15px; font-weight: 400; }
#delete-folder { margin-right: auto; }
#folder-delete-message { color: #b8afbf; font-size: 12px; line-height: 1.9; }
@media(min-width:1600px) { .entry-card { --entry-block-padding: 24px; } }
@media(max-width:720px) {
  .entry-card { --entry-block-padding: 15px; --entry-icon-size: 33px; }
  #folder-dialog .dialog-footer { gap: 7px; }
  #folder-dialog .dialog-footer .button { padding: 11px 12px; }
}

/* Keep the original outline for inactive items; fill only selected favorites. */
.favorite-toggle.is-favorite .asset-star,
#detail-favorite.is-favorite .asset-star {
  background: #f5c84c;
  -webkit-mask-image: url('./assets/star-filled.svg');
  mask-image: url('./assets/star-filled.svg');
}

/* Production identity, loading states and sensitive-value confirmation. */
.vault-logo { display: inline-block; flex-shrink: 0; width: 22px; height: 22px; background: var(--red); -webkit-mask: url('./media/logo.svg') center / contain no-repeat; mask: url('./media/logo.svg') center / contain no-repeat; }
.brand-mark.vault-logo { width: 43px; height: 43px; border-radius: 0; }
.security-help { color: var(--muted); font-size: 12px; line-height: 1.9; }
.loading-state { grid-column: 1 / -1; padding: 30px 0; color: var(--muted); text-align: center; font-size: 12px; }
.loading-block { height: 65px; border-radius: 14px; background: linear-gradient(110deg, #1b191e 25%, #262128 45%, #1b191e 65%); background-size: 220% 100%; margin-bottom: 12px; animation: vault-loading 1.6s ease-in-out infinite; }
@keyframes vault-loading { to { background-position: -220% 0; } }
#auth-links { display: flex; justify-content: center; gap: 10px; margin-top: 16px; }
#settings-dialog .checkbox-label { align-items: flex-start; line-height: 1.8; }
#settings-dialog .checkbox-label input { margin-top: 4px; }
.account { width: 100%; text-align: left; }
.account:hover { background: #202023; }
.sidebar-logout { display: flex; align-items: center; gap: 11px; width: 100%; padding: 11px 12px; margin-bottom: 9px; border: 1px solid transparent; border-radius: 11px; background: transparent; color: #b9a2aa; text-align: left; font-size: 12px; }
.sidebar-logout[hidden] { display: none; }
.sidebar-logout svg { width: 17px; height: 17px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-logout:hover { color: #f1979e; border-color: #ed626825; background: #ed62680d; }
.topbar #new-entry { margin-left: auto; }
.toolbar { flex-wrap: wrap; }
.search-sort { flex-wrap: wrap; }
.subfolder-option { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; cursor: pointer; }
.subfolder-option input { margin: 0; }
.settings-appearance { border-bottom: 1px solid var(--line); margin-bottom: 20px; }
.settings-appearance h3,.settings-security legend { font-size: 14px; font-weight: 550; margin: 0; }
.settings-security { border: 0; padding: 0; margin: 0; min-width: 0; }
.settings-security:disabled { opacity: .5; }
.settings-account { padding: 18px 26px 24px; border-top: 1px solid var(--line); }
.create-entry { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-height: 200px; padding: 24px; border-style: dashed; color: var(--muted); font-size: 13px; }
.create-entry:hover { color: var(--red); }
.create-entry>svg { width: 30px; height: 30px; }
.entries-grid.list .create-entry { min-height: 76px; flex-direction: row; justify-content: flex-start; padding: 16px 20px; }
@media(max-width:720px) { .subfolder-option { flex-basis: 100%; } .settings-account { padding: 17px 20px 20px; } }
@media(prefers-reduced-motion:reduce) { .loading-block { animation: none; } }
@media(max-width:720px) { .topbar-location .vault-logo { display: inline-block; } }

.native-settings { border-top: 1px solid var(--line); display: grid; gap: 14px; }
#settings-dialog { width: min(860px, calc(100vw - 40px)); max-width: 860px; padding: 0; overflow: hidden; border: 1px solid #413239; border-radius: 24px; background: #171518; box-shadow: 0 30px 120px #0009; }
#settings-dialog[open] { display: flex; flex-direction: column; max-height: min(790px, 90dvh); }
#settings-dialog .settings-header { background: radial-gradient(ellipse at 0 0, #5c2c383b, transparent 70%); padding: 29px 28px 24px; align-items: flex-start; flex-shrink: 0; }
.settings-header h2 { margin-top: 7px; font-size: clamp(20px, 3vw, 25px); letter-spacing: -.7px; font-weight: 600; }
.settings-header p { color: var(--muted); margin: 8px 0 0; font-size: 12px; }
.settings-shell { display: grid; grid-template-columns: 180px minmax(0,1fr); min-height: 320px; overflow: hidden; border-top: 1px solid var(--line); }
#settings-categories { display: flex; flex-direction: column; gap: 6px; padding: 18px 12px; border-right: 1px solid var(--line); background: #121114; }
#settings-categories button { display: flex; align-items: center; gap: 10px; padding: 13px 12px; text-align: left; color: var(--muted); font-size: 12px; border: 1px solid transparent; border-radius: 12px; background: transparent; white-space: nowrap; transition: background .18s, color .18s; }
#settings-categories button:hover { background: #ffffff06; color: var(--text); }
#settings-categories button[aria-selected="true"] { background: #ed626814; border-color: #ed626825; color: #f7979b; }
.settings-category-icon { width: 18px; height: 18px; flex-shrink: 0; background: currentColor; mask: var(--category-icon) center / contain no-repeat; -webkit-mask: var(--category-icon) center / contain no-repeat; }
.settings-content { min-width: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; }
.settings-viewport { overflow: hidden; transition: height .26s ease; min-height: 280px; }
#settings-pages { display: flex; align-items: flex-start; width: 100%; transition: transform .32s cubic-bezier(.22,.75,.25,1); }
#settings-dialog[open] #settings-pages { will-change: transform; }
#settings-pages.is-dragging { transition: none; }
@media(prefers-reduced-motion:reduce) { #settings-pages, .settings-viewport { transition: none; } }
.settings-viewport { touch-action: pan-y pinch-zoom; }
.sidebar-scroll-locked { position: fixed; width: 100%; overflow: hidden; overscroll-behavior: none; }
.sidebar, .sidebar-backdrop, .folder-tree { overscroll-behavior: contain; }
.sidebar { touch-action: pan-y pinch-zoom; }
.sidebar-backdrop { touch-action: none; }
#settings-pages > section { flex: 0 0 100%; min-width: 0; box-sizing: border-box; width: 100%; }
#settings-pages .form-body { padding: 26px; }
#settings-pages .settings-appearance { margin: 0; border: 0; }
#settings-pages .native-settings { border: 0; gap: 19px; }
.settings-page-heading { margin-bottom: 24px; }
.settings-kicker { display: block; color: #ed939b; font-size: 9px; font-weight: 600; letter-spacing: 1.6px; margin-bottom: 10px; }
#settings-pages .settings-page-heading h3 { margin: 0; color: var(--text); font-size: 19px; line-height: 1.4; letter-spacing: -.45px; font-weight: 550; }
.settings-page-heading p { font-size: 12px; line-height: 1.8; color: var(--muted); margin: 9px 0 0; }
#settings-pages .settings-appearance > .checkbox-label, #settings-security > .checkbox-label { background: #211d22; padding: 17px; border: 1px solid #3b3038; border-radius: 14px; gap: 13px; }
#settings-pages input[type="checkbox"] { accent-color: var(--red); width: 16px; height: 16px; flex-shrink: 0; }
#settings-pages .settings-security legend { margin-bottom: 16px; color: var(--muted); }
#settings-pages .dialog-footer { border-top: 0; padding: 0 26px 26px; justify-content: flex-end; }
.settings-identity { display: flex; gap: 14px; padding: 19px; align-items: center; border-radius: 16px; background: linear-gradient(120deg,#35212a,#211c23); border: 1px solid #5f344542; }
#settings-avatar { display: grid; place-items: center; width: 45px; height: 45px; flex-shrink: 0; background: #ed626821; border: 1px solid #ed62682b; border-radius: 14px; color: #f39b9e; font-size: 20px; }
.settings-identity strong { font-size: 14px; word-break: break-word; }
.settings-identity small { display: block; margin-top: 6px; color: var(--muted); font-size: 11px; }
.settings-signout { margin-top: 24px; padding: 20px 0 0; display: flex; align-items: center; gap: 16px; justify-content: space-between; border-top: 1px solid var(--line); }
.settings-signout h4 { margin: 0 0 6px; font-size: 13px; font-weight: 550; }
.settings-signout p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
.settings-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 23px; border-top: 1px solid var(--line); background: #141215; flex-shrink: 0; }
#settings-position { color: var(--muted); font-size: 10px; }
.shortcut-editor { display: grid; gap: 12px; padding: 17px; border: 1px solid #493440; border-radius: 16px; background: #211b23; }
.shortcut-editor h4 { margin: 0; font-size: 13px; font-weight: 550; }
.shortcut-editor details { font-size: 11px; color: var(--muted); }
.shortcut-editor summary { cursor: pointer; padding: 6px 0; }
#settings-pages .native-settings > .checkbox-label { padding: 15px; background: #211d22; border: 1px solid #3b3038; border-radius: 13px; gap: 12px; }
.shortcut-editor label { font-size: 12px; }
.shortcut-editor input { width: 100%; font-family: ui-monospace,monospace; font-size: 12px; }
.shortcut-controls { display: flex; gap: 8px; flex-wrap: wrap; }
.shortcut-capture { padding: 16px; background: #141217; border: 1px dashed #805363; border-radius: 12px; text-align: center; outline-offset: 3px; }
.shortcut-capture[data-recording="true"] { border-color: var(--red); background: #ed62680a; }
.shortcut-capture kbd { display: inline-block; padding: 6px 8px; margin: 3px; border: 1px solid #5f4653; border-bottom-width: 3px; background: #352a33; border-radius: 6px; font-size: 11px; }
.shortcut-capture p { margin: 8px 0 0; font-size: 11px; color: var(--muted); line-height: 1.7; }
@media(max-width:720px) {
  #settings-dialog { width: calc(100vw - 20px); max-height: calc(100dvh - 24px); border-radius: 19px; }
  #settings-dialog::backdrop { backdrop-filter: none; background: #070609df; }
  #settings-dialog .settings-header { padding: 22px 20px; }
  .settings-shell { display: flex; flex-direction: column; min-height: 0; }
  #settings-categories { flex-direction: row; padding: 11px 12px; gap: 5px; border-right: 0; border-bottom: 1px solid var(--line); overflow-x: auto; flex-shrink: 0; }
  #settings-categories button { padding: 11px 12px; gap: 7px; font-size: 11px; }
  .settings-category-icon { width: 16px; height: 16px; }
  .settings-content { min-height: 0; }
  .settings-viewport { transition: none; }
  #settings-pages { transition-duration: .2s; }
  #settings-pages .form-body { padding: 22px 19px; }
  #settings-pages .dialog-footer { padding: 0 19px 22px; }
  #settings-pages .settings-page-heading h3 { font-size: 18px; }
  .settings-bottom { padding: 12px 18px; }
}
.native-settings h3 { margin: 0; font-size: 14px; }
.native-settings label { margin: 0; }
.native-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.offline-banner { margin: 0; padding: 12px 20px; background: #302427; color: #f0c8ce; font-size: 12px; line-height: 1.6; }
.detail-value-row, .detail-hero > div { min-width: 0; }
.detail-value-row code, .detail-value-row a, .detail-note { overflow-wrap: anywhere; }
dialog { overscroll-behavior: contain; }
@media(max-width:720px) {
  .detail-actions { flex-wrap: wrap; gap: 8px; }
  .detail-hero h2 { overflow-wrap: anywhere; }
  .topbar #new-entry { padding-left: 10px; padding-right: 10px; }
}
