.alert-row{display:grid;grid-template-columns:4px minmax(0,1fr) auto;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line-soft)}.alert-row:last-child{border-bottom:0}.alert-row .sev{border-radius:2px;background:var(--steel)}.alert-row .sev.critical{background:var(--red)}.alert-row .sev.warning{background:var(--amber)}.alert-row .sev.info{background:var(--blue)}.alert-row.closed{opacity:.75}.alert-row h3{font-size:15px}.alert-row .meta{display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center;color:var(--steel);font-size:13px;margin-top:6px}.alert-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}@media(max-width:640px){.alert-row{grid-template-columns:4px minmax(0,1fr)}.alert-actions{grid-column:2}}@media(max-width:1080px),(pointer:coarse){.alert-row .meta a{min-height:var(--tap);display:inline-flex;align-items:center}}.loc-cover{position:relative;overflow:hidden;isolation:isolate;aspect-ratio:16 / 9;background:var(--sunken)}.loc-cover-sk{position:absolute!important;inset:0;border-radius:0;height:100%!important}.loc-cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity var(--dur-slow) var(--ease-out)}.loc-cover.loaded .loc-cover-photo{opacity:1}.loc-cover.is-art{background:radial-gradient(120% 90% at 50% 100%,#dcebf8 0%,var(--blue-soft) 45%,#f6f9fc 100%)}.loc-cover-art{position:absolute;left:50%;top:53%;height:106%;width:auto;max-width:none;transform:translate(-50%,-50%);pointer-events:none;-webkit-user-select:none;user-select:none}.loc-cover.thumb{flex:none;width:44px;height:44px;aspect-ratio:auto;border-radius:var(--r-md);border:1px solid var(--line-soft)}.loc-cover.thumb .loc-cover-art{height:120%;top:50%}.header-cover-btn,.header-cover-wrap{position:relative;display:block;width:100%;padding:0;border:0;background:none;border-radius:var(--r-lg)}.header-cover-btn{cursor:zoom-in}.header-cover{aspect-ratio:4 / 3;border-radius:var(--r-lg);box-shadow:0 0 0 1px var(--line-soft)}.header-cover-btn:hover .loc-cover-photo{transform:scale(1.03)}.header-cover-btn .loc-cover-photo{transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.header-cover-zoom{position:absolute;right:8px;bottom:8px;width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:#ffffffd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);box-shadow:0 1px 3px #14213d33}.header-cover-add{position:absolute;left:50%;bottom:10px;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:0;border-radius:999px;background:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);font:inherit;font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 1px 3px #14213d33;cursor:pointer}.header-cover-add:hover{background:#fff}@media(max-width:720px){.header-cover{aspect-ratio:21 / 9}.header-cover-add{min-height:var(--tap)}}@media(pointer:coarse){.header-cover-add{min-height:var(--tap)}}.photo-body:focus{outline:none}.photo-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.photo-tile{position:relative;border-radius:var(--r-lg);aspect-ratio:4 / 3}.photo-tile-img{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:var(--sunken);cursor:zoom-in;border-radius:inherit;overflow:hidden}.photo-tile-img img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}.photo-tile-img.loaded img{opacity:1}.photo-tile-img:not(.loaded):not(.photo-tile-failed):before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translate(-100%);animation:shimmer var(--dur-shimmer) var(--ease-out) infinite}.photo-tile-img:hover img{transform:scale(1.03)}.photo-tile-img:focus-visible{outline:3px solid var(--blue);outline-offset:-3px}.photo-tile-failed{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--steel);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.photo-tile-failed .xs{color:var(--link)}.photo-tile.busy .photo-tile-img img{opacity:.55}.photo-tile-spinner{position:absolute;left:50%;top:50%;margin:-8px 0 0 -8px;color:#fff}.photo-tile-cover{position:absolute;left:8px;top:8px;display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 6px;border-radius:999px;background:#14213dc7;color:#fff;font-size:12px;font-weight:700;pointer-events:none}.photo-tile-menu{position:absolute;right:6px;top:6px}.photo-tile-more{width:var(--tap);height:var(--tap);display:grid;place-items:center;padding:0;border:0;border-radius:999px;background:#ffffffd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);box-shadow:0 1px 3px #14213d33;cursor:pointer;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.photo-tile-more:hover{background:#fff}.photo-tile-more:active:not([aria-disabled=true]){transform:scale(.94)}.photo-tile-more[aria-disabled=true]{opacity:.6;cursor:progress}.menu.photo-menu{min-width:210px;width:max-content;max-width:calc(100vw - 32px);top:calc(100% + 4px)}.photo-menu.from-left{right:auto;left:0;transform-origin:top left}.photo-tile:has(.photo-menu){z-index:2}.photo-menu .menu-item:disabled{opacity:.45;cursor:not-allowed;background:none}.photo-full{margin:0}.photo-drop{display:flex;align-items:center;justify-content:center;gap:12px;padding:22px 16px;border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--paper);text-align:left;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.photo-drop.compact{justify-content:flex-start;padding:10px 14px}.photo-drop.over{border-color:var(--blue);background:var(--blue-soft)}.photo-drop-icon{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:999px;background:var(--surface);color:var(--blue-ink);box-shadow:0 0 0 1px var(--line)}.photo-drop.compact .photo-drop-icon{width:32px;height:32px}.photo-drop-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:14px;color:var(--ink-2)}.photo-drop-pick{border:0;background:none;padding:0;min-height:0;font:inherit;font-weight:700;color:var(--link);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.photo-drop-pick:hover{color:var(--link-hover)}@media(pointer:coarse){.photo-drop-pick{min-height:var(--tap)}}.upload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.upload-row{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 12px;border-radius:var(--r-md);background:var(--sunken);animation:fadein var(--dur-base) var(--ease-out)}.upload-row.failed{background:var(--red-soft)}.upload-row.done{background:var(--green-soft)}.upload-icon{flex:none;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:var(--surface);color:var(--steel)}.upload-row.done .upload-icon{color:var(--green-ink)}.upload-row.failed .upload-icon{color:var(--red-ink)}.upload-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.upload-name{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-state{color:var(--steel);font-weight:600}.upload-row.failed .upload-state{color:var(--red-ink)}.upload-row.done .upload-state{color:var(--green-ink)}.upload-bar{display:block;height:4px;border-radius:999px;background:var(--line);overflow:hidden}.upload-bar i{display:block;height:100%;background:var(--blue);transform-origin:left center;transition:transform var(--dur-base) var(--ease-out)}.upload-actions{flex:none;display:flex;align-items:center;gap:4px}.upload-actions .icon-btn{background:transparent}.upload-retry{min-height:var(--tap);padding:0 10px;border:0;background:none;font:inherit;font-size:13px;font-weight:700;color:var(--link);cursor:pointer}.loc-lead{display:flex;align-items:center;gap:12px;min-width:0}.loc-lead-text{display:flex;flex-direction:column;min-width:0}@media(pointer:coarse){.photo-drop-drag{display:none}.photo-drop-pick{display:inline-block}.photo-drop-pick:first-letter{text-transform:uppercase}}
