:root{--pmc-gold:#e9b400;--pmc-navy:#001233;--pmc-red:#dc2626;--pmc-bg:#f4f5f7;--pmc-card:#ffffff;--pmc-text:#1a2233;--pmc-muted:#5b6474;--pmc-border:#e3e6eb;--radius:12px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--pmc-bg);color:var(--pmc-text);min-height:100vh;display:flex;flex-direction:column}.header{background:var(--pmc-navy);color:#fff;gap:16px;padding:10px 24px;border-bottom:3px solid var(--pmc-gold)}.header,.header .logos{display:flex;align-items:center}.header .logos{gap:12px;background:#fff;border-radius:8px;padding:4px 10px}.header .logos img{height:28px;width:auto;display:block}.header h1{font-size:1.05rem;font-weight:600;margin:0;letter-spacing:.02em}.header .spacer{flex:1 1}.menu-root{position:relative}.menu-root>summary{list-style:none;cursor:pointer;padding:6px 14px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:.9rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.menu-root>summary::-webkit-details-marker{display:none}.menu-root>summary:hover,.menu-root[open]>summary{background:rgba(255,255,255,.12)}.menu-root>summary:focus-visible{outline:2px solid var(--pmc-gold);outline-offset:2px}.menu-root .menu{position:absolute;right:0;top:calc(100% + 8px);background:var(--pmc-card);color:var(--pmc-text);border:1px solid var(--pmc-border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,18,51,.18);min-width:210px;padding:6px;z-index:20}.menu-root .menu a,.menu-root .menu button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:0;font:inherit;padding:9px 12px;border-radius:8px;color:var(--pmc-navy);text-decoration:none;cursor:pointer}.menu-root .menu a:hover,.menu-root .menu button:hover{background:var(--pmc-bg)}.menu-root .menu a:focus-visible,.menu-root .menu button:focus-visible{outline:2px solid var(--pmc-navy);outline-offset:-2px}.locale-menu .flag{font-size:1.05rem;line-height:1}.locale-menu .locale-code{font-size:.78rem;letter-spacing:.06em;font-weight:600}.locale-menu .menu button.active{font-weight:700;color:var(--pmc-navy);background:var(--pmc-bg)}.locale-menu .menu button.active:after{content:"✓";margin-left:auto;color:var(--pmc-gold)}.landing-topbar{display:flex;justify-content:flex-end;padding:14px 20px 0}.landing-topbar .menu-root>summary{border-color:var(--pmc-border);color:var(--pmc-navy);background:var(--pmc-card)}.landing-topbar .menu-root>summary:hover,.landing-topbar .menu-root[open]>summary{background:#fff;border-color:var(--pmc-navy)}main{flex:1 1;width:100%;max-width:1080px;margin:0 auto;padding:28px 24px 48px}.section-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--pmc-muted);margin:28px 0 12px;padding-bottom:6px;border-bottom:2px solid var(--pmc-gold);display:inline-block}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:16px;gap:16px}.tile{display:flex;align-items:center;gap:14px;background:var(--pmc-card);border:1px solid var(--pmc-border);border-radius:var(--radius);padding:16px;text-decoration:none;color:inherit;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.tile:hover{border-color:var(--pmc-gold);box-shadow:0 6px 18px rgba(0,18,51,.12);transform:translateY(-1px)}.tile .icon{width:44px;height:44px;border-radius:10px;flex-shrink:0;object-fit:contain;background:var(--pmc-bg)}.tile .icon.fallback{display:flex;align-items:center;justify-content:center;background:var(--pmc-navy);color:var(--pmc-gold);font-weight:700;font-size:1.2rem}.tile:focus-visible{outline:2px solid var(--pmc-navy);outline-offset:2px}.tile .txt{min-width:0;flex:1 1}.tile .txt .title{font-weight:600;color:var(--pmc-navy);overflow-wrap:anywhere}.tile .txt .desc,.tile .txt .title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tile .txt .desc{font-size:.82rem;color:var(--pmc-muted);margin-top:2px}.tile .ext{align-self:flex-start;color:var(--pmc-muted);font-size:.9rem;flex-shrink:0}.tile:hover .ext{color:var(--pmc-navy)}.empty{margin-top:48px;text-align:center;color:var(--pmc-muted)}.landing{flex:1 1;display:flex;align-items:center;justify-content:center;padding:24px}.landing-card{background:var(--pmc-card);border:1px solid var(--pmc-border);border-radius:16px;box-shadow:0 10px 30px rgba(0,18,51,.12);padding:40px 36px;max-width:420px;width:100%;text-align:center}.landing-card .logos{display:flex;justify-content:center;align-items:center;gap:14px;margin-bottom:20px}.landing-card .logos img{height:36px;width:auto}.landing-card h2{color:var(--pmc-navy);text-transform:uppercase;font-size:1.1rem;letter-spacing:.04em;margin:0 0 8px}.landing-card p{color:var(--pmc-muted);font-size:.92rem;margin:0 0 24px}.btn-primary{display:inline-block;background:var(--pmc-gold);color:var(--pmc-navy);font-weight:700;font-size:1rem;border:0;border-radius:10px;padding:12px 32px;cursor:pointer;transition:filter .15s ease}.btn-primary:hover{filter:brightness(1.06)}.header .admin-user{font-size:.85rem;opacity:.85;margin-right:4px}.header .admin-back{color:var(--pmc-gold);text-decoration:none;font-size:.88rem;border:1px solid rgba(233,180,0,.5);border-radius:999px;padding:6px 14px}.header .admin-back:hover{background:rgba(233,180,0,.12)}.header h1 a{color:inherit;text-decoration:none}.header h1 a:hover{color:var(--pmc-gold)}main.admin{max-width:900px}.panel{background:var(--pmc-card);border:1px solid var(--pmc-border);border-radius:var(--radius);padding:20px 22px;margin-bottom:22px}.panel-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.panel-head h2{margin:0;font-size:1.05rem;color:var(--pmc-navy);flex:1 1}.muted{color:var(--pmc-muted)}.small{font-size:.8rem}.btn-sm{font-size:.85rem;padding:7px 14px}.btn-danger,.btn-secondary{font:inherit;border-radius:8px;cursor:pointer;padding:8px 16px;border:1px solid var(--pmc-border);background:#fff;color:var(--pmc-navy)}.btn-secondary:hover{border-color:var(--pmc-navy)}.btn-danger{border-color:#f2c4c4;color:var(--pmc-red)}.btn-danger:hover{background:#fdf2f2;border-color:var(--pmc-red)}.btn-link{color:var(--pmc-navy);font-size:.88rem;border-bottom:1px solid var(--pmc-gold)}.btn-link,a.btn-primary{text-decoration:none}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--pmc-muted);padding:6px 8px}.table td,.table th{border-bottom:1px solid var(--pmc-border)}.table td{padding:10px 8px;vertical-align:middle}.row-icon{width:30px;height:30px;object-fit:contain;border-radius:6px;background:var(--pmc-bg);display:inline-flex;align-items:center;justify-content:center}.row-icon.fallback{background:var(--pmc-navy);color:var(--pmc-gold);font-weight:700;font-size:.85rem}.stack{display:flex;flex-direction:column;gap:14px;max-width:560px}.field-row label,.stack label{display:flex;flex-direction:column;gap:5px;font-size:.85rem;color:var(--pmc-muted)}.field-row{display:flex;gap:14px;flex-wrap:wrap}.field-row>label{flex:1 1;min-width:150px}.field-row .narrow-field{flex:0 0 90px;min-width:90px}label.checkbox{flex-direction:row;align-items:center;gap:8px;align-self:flex-end;padding-bottom:9px;color:var(--pmc-text)}input,select{font:inherit;color:var(--pmc-text);background:#fff;border:1px solid var(--pmc-border);border-radius:8px;padding:9px 11px}input:focus,select:focus{outline:2px solid var(--pmc-navy);outline-offset:1px}input[type=checkbox]{width:16px;height:16px;padding:0}input[type=file]{padding:7px;background:var(--pmc-bg)}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form .narrow{width:80px}.actions{display:flex;gap:10px;align-items:center}.danger-row{margin-top:16px;padding-top:16px;border-top:1px solid var(--pmc-border)}.current-icon img{width:56px;height:56px;object-fit:contain;background:var(--pmc-bg);border-radius:10px;border:1px solid var(--pmc-border)}.rows{list-style:none;margin:0 0 14px;padding:0}.rows li{display:flex;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--pmc-border)}.rows li .inline-form{flex:1 1}.binding{flex:1 1;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.binding code{font-size:.9rem}.binding-problem{flex-basis:100%;font-size:.82rem;color:#8a6d00;background:#fff8e6;border-radius:6px;padding:6px 10px}.tag{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:3px 10px;background:var(--pmc-bg);color:var(--pmc-muted);border:1px solid var(--pmc-border)}.tag.group{color:var(--pmc-navy);border-color:var(--pmc-navy)}.tag.role{color:#8a6d00;border-color:var(--pmc-gold)}.notice{border-radius:8px;padding:10px 14px;font-size:.88rem;margin:0 0 14px}.notice.ok{background:#edf7ee;color:#1e6b2a}.notice.error{background:#fdf2f2;color:var(--pmc-red)}.notice.warn{background:#fff8e6;color:#8a6d00}.notice.info{background:#eef3fb;color:var(--pmc-navy)}footer{border-top:1px solid var(--pmc-border);padding:14px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--pmc-muted)}footer .spacer{flex:1 1}footer a{color:var(--pmc-navy)}@media (max-width:700px){.header{padding:10px 14px;gap:10px}.header .admin-user,.header .greeting,.header .logos img.logo-secondary,.header h1{display:none}.menu-root>summary{padding:6px 10px}main{padding:20px 14px 36px}.grid{grid-template-columns:1fr}}