/* Admin nutzt dieselbe Shell wie der Testerbereich. Nur Inhalt und Navigation unterscheiden sich. */
.admin-app{display:flex;grid-template-columns:none;min-height:100vh}
.admin-main{min-width:0;flex:1}
.admin-app .admin-sidebar{position:sticky;top:0;display:flex;flex:0 0 72px;width:72px;height:100vh;padding:24px 10px;overflow:hidden;border-right:1px solid var(--line);background:var(--surface);transition:width .3s cubic-bezier(.22,.8,.24,1),flex-basis .3s cubic-bezier(.22,.8,.24,1)}
.admin-app .admin-sidebar:hover,.admin-app .admin-sidebar:focus-within{flex-basis:224px;width:224px}
.admin-app .admin-brand-link{width:204px;color:var(--navy);text-decoration:none}
.admin-app .admin-sidebar nav{display:grid;gap:5px}
.admin-app .admin-sidebar nav a{display:flex;align-items:center;gap:12px;width:204px;min-height:42px;padding:0 8px;border-radius:8px;color:#52647f;font-size:15px;font-weight:650;text-decoration:none;white-space:nowrap;transition:.16s ease}
.admin-app .admin-sidebar nav a:hover,.admin-app .admin-sidebar nav a.active{background:#e9f7ee;color:var(--green)}
.admin-app .admin-sidebar nav a .nav-icon{display:grid;place-items:center;flex:0 0 20px;width:20px;color:currentColor}
.admin-app .admin-sidebar nav a .nav-label{display:inline;width:auto;color:inherit;font-size:15px;text-align:left}
.admin-app .admin-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;flex-direction:row;gap:24px;min-height:72px;padding:14px 32px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.admin-app .admin-header .page-title h1{margin:0;font-size:21px;line-height:1.2;letter-spacing:-.025em}
.admin-app .admin-header .page-title p{margin:4px 0 0;color:var(--muted);font-size:14px}
.admin-app .admin-header .top-actions{display:flex;align-items:center;gap:10px}
.admin-app .admin-header .user-chip{height:auto;min-height:42px}
.admin-app .admin-sidebar.is-collapsed,.admin-app .admin-sidebar.is-collapsed:hover,.admin-app .admin-sidebar.is-collapsed:focus-within{flex-basis:72px;width:72px}
.admin-app .admin-sidebar.is-pinned-open,.admin-app .admin-sidebar.is-pinned-open:hover,.admin-app .admin-sidebar.is-pinned-open:focus-within{flex-basis:224px;width:224px}
.admin-app .side-link:not(.sidebar-toggle) .side-icon{font-size:0!important}
.admin-app .side-link:not(.sidebar-toggle) .side-icon::before{content:"";display:block;width:16px;height:16px;border-radius:50%;background:currentColor;box-shadow:inset 0 0 0 5px #fff}
.admin-app .admin-projects-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));align-items:stretch;align-content:start;gap:14px}
.admin-app .admin-project-search{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-1px 0 18px;padding:10px 12px;border:1px solid #e0ebe5;border-radius:13px;background:#f7faf8}.admin-app .admin-project-search label{display:flex;align-items:center;width:min(100%,500px);height:42px;border:1px solid #ceded5;border-radius:10px;background:#fff;box-shadow:0 2px 7px rgba(19,70,40,.035);transition:border-color .16s ease,box-shadow .16s ease}.admin-app .admin-project-search label:focus-within{border-color:#32aa63;box-shadow:0 0 0 3px rgba(25,154,80,.1)}.admin-app .admin-project-search svg{flex:0 0 18px;width:18px;height:18px;margin-left:14px;fill:none;stroke:#199a50;stroke-linecap:round;stroke-width:1.8}.admin-app .admin-project-search input{min-width:0;height:100%;flex:1;padding:0 14px 0 10px;border:0;outline:0;background:transparent;color:#263a53;font:inherit;font-size:13px}.admin-app .admin-project-search input::placeholder{color:#8997a7}.admin-app .admin-project-search-status{padding:6px 10px;border:1px solid #d8e7df;border-radius:999px;background:#fff;color:#60766a;font-size:10px;font-weight:800;white-space:nowrap}.admin-app .admin-projects-list .admin-project-card[hidden]{display:none!important}.admin-app .admin-project-search-empty{padding:46px 20px 34px;text-align:center}.admin-app .admin-project-search-empty>span{display:grid;width:46px;height:46px;margin:0 auto 12px;place-items:center;border-radius:14px;background:#e9f8ef;color:#199a50;font-size:24px}.admin-app .admin-project-search-empty h3{margin:0 0 5px;font-size:16px}.admin-app .admin-project-search-empty p{margin:0;color:#7c8c9f;font-size:12px}
.admin-app .admin-projects-list .admin-project-card{grid-template-rows:43px 81px auto 40px;align-content:start;gap:14px;min-width:0;padding:20px}
.admin-app .admin-projects-list .admin-project-card-head{align-items:center;min-height:43px}
.admin-app .admin-projects-list .admin-project-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.admin-app .admin-projects-list .admin-project-owner{display:flex;grid-column:1/-1;align-items:center;gap:9px;min-width:0;padding:9px 10px;border:1px solid #d8e9de;border-radius:10px;background:linear-gradient(105deg,#f8fcf9,#f0faf3)}.admin-app .admin-projects-list .admin-project-owner>i{display:grid;flex:0 0 27px;width:27px;height:27px;place-items:center;border-radius:9px;background:linear-gradient(135deg,#48bd74,#168443);color:#fff;font-size:9px;font-style:normal;font-weight:900;letter-spacing:.02em;box-shadow:0 4px 9px rgba(22,132,67,.16)}.admin-app .admin-projects-list .admin-project-owner>span{display:grid;min-width:0;gap:1px}.admin-app .admin-projects-list .admin-project-owner small{overflow:hidden;color:#6e8a7a;font-size:8px;font-weight:900;letter-spacing:.09em;text-overflow:ellipsis;white-space:nowrap}.admin-app .admin-projects-list .admin-project-owner b{overflow:hidden;color:#2d4d3c;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-app .admin-projects-list .admin-project-created{display:flex;flex:0 0 auto;align-items:baseline;gap:5px;margin-left:auto;color:#6e8a7a;white-space:nowrap}.admin-app .admin-projects-list .admin-project-created small{font-size:8px;letter-spacing:.06em}.admin-app .admin-projects-list .admin-project-created b{color:#527060;font-size:10px;font-weight:800;letter-spacing:0}
.admin-app .admin-projects-list .admin-project-copy{position:relative;min-width:0;height:81px}.admin-app .admin-projects-list .admin-project-description{position:relative;min-width:0;border-radius:7px;outline:0}.admin-app .admin-projects-list .admin-project-description>p{display:-webkit-box;max-height:42px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis}.admin-app .admin-projects-list .admin-project-description:focus-visible{outline:3px solid rgba(25,154,80,.13);outline-offset:3px}.admin-project-description-overlay{position:absolute;z-index:30;top:calc(100% + 9px);left:-12px;display:block;width:min(340px,calc(100vw - 48px));max-height:240px;padding:15px 16px;overflow:auto;border:1px solid #b9dec6;border-radius:12px;background:rgba(255,255,255,.98);color:#435970;font-size:13px;line-height:1.58;white-space:normal;box-shadow:0 18px 46px rgba(17,58,35,.2),0 0 0 4px rgba(234,248,239,.82);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-5px) scale(.98);transform-origin:top left;transition:opacity .15s ease,transform .18s ease,visibility .15s;backdrop-filter:blur(12px)}.admin-project-description-overlay::before{content:"";position:absolute;top:-6px;left:22px;width:10px;height:10px;transform:rotate(45deg);border-top:1px solid #b9dec6;border-left:1px solid #b9dec6;background:#fff}.admin-project-description-overlay small{display:block;margin-bottom:7px;color:#178847;font-size:9px;font-weight:900;letter-spacing:.12em}.admin-project-description:hover .admin-project-description-overlay,.admin-project-description:focus .admin-project-description-overlay,.admin-project-description:focus-within .admin-project-description-overlay{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.admin-project-card:nth-child(5n) .admin-project-description-overlay{right:-12px;left:auto;transform-origin:top right}.admin-project-card:nth-child(5n) .admin-project-description-overlay::before{right:22px;left:auto}@media(max-width:850px),(hover:none){.admin-project-description-overlay{display:none}}@media(prefers-reduced-motion:reduce){.admin-project-description-overlay{transition:none}}
.admin-app .admin-project-icon{position:relative;display:block;flex:0 0 43px}
.admin-app .admin-project-icon::before{position:absolute;top:50%;left:50%;margin:0;transform:translate(-50%,-50%)}
.admin-app .admin-welcome-mark{position:relative;display:block;flex:0 0 64px}
.admin-app .admin-welcome-mark::before{position:absolute;top:50%;left:50%;margin:0;transform:translate(-50%,-50%)}
.admin-app .admin-projects-list .admin-project-meta{padding-top:12px}
.admin-app .admin-stat{display:grid;grid-template-columns:42px 132px;align-items:center;justify-content:center;column-gap:14px;min-height:98px;padding:18px}
.admin-app .admin-stat>span{position:relative;align-self:center;justify-self:center}
.admin-app .admin-stat>span::before{position:absolute;top:50%;left:50%;margin:0;transform:translate(-50%,-50%)}
.admin-app .admin-stat>div{display:grid;align-content:center;justify-items:center;gap:6px;min-width:0;text-align:center}
.admin-app .admin-stat b{line-height:1}
.admin-app .admin-stat small{line-height:1.3;text-align:center}
@media(max-width:1100px){.admin-app .admin-sidebar{display:none}.admin-app .admin-header{padding:14px 24px}}
@media(max-width:760px){.admin-app .admin-header{position:static;display:grid;grid-template-columns:1fr;align-items:stretch;gap:14px;padding:20px}.admin-app .admin-header .page-title h1{font-size:27px}.admin-app .admin-header .page-title p{font-size:15px}.admin-app .admin-header .top-actions{display:grid;grid-template-columns:1fr}.admin-app .admin-header .search-shell,.admin-app .admin-header .account,.admin-app .admin-header .user-chip{width:100%}.admin-app .admin-project-search{align-items:stretch;flex-direction:column;gap:8px}.admin-app .admin-project-search label{max-width:none;width:100%}.admin-app .admin-project-search-status{padding-left:2px}}

/* 20260813-admin-project-favorites */
.admin-project-groups{display:grid;gap:16px}.admin-project-group{display:grid;gap:12px}.admin-project-group[hidden],.admin-project-divider[hidden]{display:none}.admin-project-group>header{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:0 4px}.admin-project-group>header>div>span{display:block;margin-bottom:4px;color:#8292a4;font-size:8px;font-weight:900;letter-spacing:.14em}.admin-project-group>header h3{display:flex;align-items:center;gap:7px;margin:0;color:#172b47;font-size:17px}.admin-project-group>header h3 svg{width:18px;height:18px;fill:#f6c536;stroke:#a97900;stroke-width:1.4;stroke-linejoin:round}.admin-project-group>header>small{color:#7a8b9f;font-size:10px}.admin-project-favorites{padding:16px;border:1px solid #f0d687;border-radius:16px;background:linear-gradient(135deg,#fffdf7,#fff9e8);box-shadow:0 8px 24px rgba(146,105,0,.05)}.admin-project-favorites>header>div>span{color:#a77a08}.admin-project-divider{display:flex;align-items:center;justify-content:center;min-height:28px;color:#8a99aa;font-size:8px;font-weight:900;letter-spacing:.13em}.admin-project-divider::before,.admin-project-divider::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#d8e4dd)}.admin-project-divider::after{background:linear-gradient(90deg,#d8e4dd,transparent)}.admin-project-divider span{padding:0 13px}.admin-project-card-badges{display:flex;align-items:center;gap:7px}.admin-project-favorite{display:grid;place-items:center;width:30px;height:30px;padding:0;border:1px solid #ead18b;border-radius:9px;background:#fffaf0;color:#bd8700;cursor:pointer;transition:.18s ease}.admin-project-favorite svg{width:18px;height:18px;fill:transparent;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;transition:fill .18s,transform .18s}.admin-project-favorite:hover,.admin-project-favorite:focus-visible{border-color:#d2a729;background:#fff4cf;outline:3px solid rgba(231,177,24,.15)}.admin-project-favorite:hover svg{transform:scale(1.1) rotate(-5deg)}.admin-project-favorite[aria-pressed=true]{border-color:#e0ae1e;background:#fff2bd;color:#9e7000;box-shadow:0 5px 14px rgba(194,139,0,.16)}.admin-project-favorite[aria-pressed=true] svg{fill:#f6c536}.admin-project-favorite:disabled{opacity:.55;cursor:wait}.admin-project-card.is-favorite{border-color:#e7cf87}
@media(max-width:760px){.admin-project-favorites{padding:13px}.admin-project-group>header{align-items:flex-start;flex-direction:column;gap:3px}}
