/* APIXPRO Portal v0.1 · all selectors scoped to .apx-shell */
.apx-shell{--apx-bg:#0c1427;--apx-panel:#111d35;--apx-line:rgba(175,193,235,.20);--apx-text:#e9efff;--apx-muted:#a9b8d7;--apx-primary:#a3afff;--apx-mint:#67e4c3;max-width:1220px;margin:45px auto 80px;padding:36px;border-radius:24px;background:linear-gradient(140deg,#0b162d 10%,#111d37 62%,#0e2432 100%);color:var(--apx-text);box-shadow:0 26px 75px rgba(0,0,0,.18);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.55;box-sizing:border-box}
.apx-shell *{box-sizing:border-box}
.apx-shell h1,.apx-shell h2,.apx-shell h3{color:#f1f4ff;letter-spacing:-.03em;line-height:1.18;margin:0 0 12px}
.apx-shell h1{font-size:clamp(30px,4.3vw,48px)}
.apx-shell h2{font-size:24px}
.apx-shell h3{font-size:20px;margin-top:20px}
.apx-shell p{color:var(--apx-muted);margin:4px 0 16px}
.apx-overline{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:var(--apx-mint)}
.apx-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 25px}
.apx-heading p{font-size:15px;margin:8px 0 0}
.apx-pill{white-space:nowrap;border:1px solid var(--apx-line);background:#192741;color:#c3cff2;border-radius:30px;padding:8px 12px;font-size:12px;font-weight:700}
.apx-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.apx-stat{border:1px solid var(--apx-line);border-radius:16px;padding:18px 22px;background:rgba(28,46,76,.62)}
.apx-stat strong{display:block;font-size:32px;line-height:1.2;color:#fff;letter-spacing:-.06em}
.apx-stat span{font-size:13px;color:var(--apx-muted)}
.apx-panel{background:rgba(24,39,65,.92);border:1px solid var(--apx-line);border-radius:18px;padding:25px;min-width:0}
.apx-columns{display:grid;grid-template-columns:.95fr 1.05fr;gap:18px}
.apx-form{display:grid;gap:14px;margin-top:14px}
.apx-shell label:not(.apx-choice){font-size:13px;color:#d9e2f9;font-weight:650;display:grid;gap:7px}
.apx-shell input[type=text],.apx-shell input[type=password],.apx-shell input[type=file]{max-width:100%;min-width:0;width:100%;border:1px solid rgba(174,193,227,.28);background:#0b172b;color:#fff;padding:12px 13px;font-size:14px;line-height:1.4;border-radius:10px;box-shadow:none}
.apx-shell input:focus{outline:2px solid #889ff8;outline-offset:1px}
.apx-shell input[type=file]{cursor:pointer}
.apx-shell input[readonly]{color:#9bd5e2;cursor:text}
.apx-btn,.apx-shell button.apx-btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:12px 17px;border:0;border-radius:11px;background:var(--apx-primary);color:#101b36;font-weight:800;font-size:14px;cursor:pointer;text-decoration:none;max-width:max-content;transition:transform .12s,filter .12s}
.apx-btn:hover,.apx-shell button.apx-btn:hover{filter:brightness(1.09);transform:translateY(-1px);color:#101b36}
.apx-projects{display:grid;gap:8px;max-height:390px;overflow-y:auto}
.apx-project,.apx-project:visited{display:flex;justify-content:space-between;gap:10px;align-items:center;text-decoration:none;border:1px solid var(--apx-line);background:#101b30;padding:12px 15px;border-radius:11px;color:#eaf0ff}
.apx-project:hover,.apx-project.apx-current{border-color:#9fa9ff;color:#fff;background:#202f4b}
.apx-project strong{display:block;font-size:14px}
.apx-project small{display:block;color:#abb8d6;font-size:12px;margin-top:4px}
.apx-project-details{margin-top:22px}
.apx-share-label{margin:14px 0}
.apx-shell a.apx-link{color:#9ce5f1;font-weight:700}
.apx-divider{height:1px;background:var(--apx-line);margin:23px 0}
.apx-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:11px;margin-top:14px}
.apx-photo-tile{padding:12px;background:#0d1b32;border:1px solid var(--apx-line);border-radius:12px;min-width:0}
.apx-studio-image{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:8px;background:#0d1b32}
.apx-file-icon{background:linear-gradient(130deg,#2d405f,#54878c);min-height:80px;border-radius:8px;display:grid;place-items:center;color:#dbeaf5;font-size:10px;font-weight:900;letter-spacing:.13em}
.apx-photo-tile p{font-size:12px;overflow-wrap:anywhere;margin:9px 0}
.apx-tag{background:#174d49;color:#8cf3d6;font-size:11px;border-radius:8px;padding:3px 6px}
.apx-small-danger{color:#ffb9b9;background:transparent;border:0;padding:5px 0;font-size:12px;cursor:pointer;text-decoration:underline}
.apx-selected-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.apx-selected-list span{color:#cce4f7;border:1px solid var(--apx-line);background:#102239;border-radius:20px;padding:5px 10px;font-size:12px}
.apx-notice{padding:12px 16px;border-radius:11px;background:#123c36;color:#92f1d3;border:1px solid rgba(89,219,180,.36);margin-bottom:17px;font-size:14px}
.apx-notice.apx-warning{background:#463020;color:#ffe0a6;border-color:#967a4d}
.apx-note{font-size:12px;line-height:1.65;color:#a3b5d1;margin-top:25px}
.apx-client .apx-pin-panel{max-width:470px;margin:0 auto;text-align:center;background:#14213d;border:1px solid var(--apx-line);padding:35px;border-radius:21px}
.apx-client .apx-pin-panel .apx-form{text-align:left}
.apx-lock{font-size:35px;margin:22px 0}
.apx-client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.apx-choice{display:flex;flex-direction:column;cursor:pointer;background:#172741;border:1px solid var(--apx-line);border-radius:14px;overflow:hidden;transition:border-color .15s,transform .15s}
.apx-choice:hover{border-color:#aab5ff;transform:translateY(-2px)}
.apx-choice img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;background:#101b31;display:block}
.apx-choice-row{padding:11px;display:grid;gap:10px}
.apx-choice-name{font-size:12px;font-weight:700;color:#eaf1fd;word-break:break-word}
.apx-checkbox-label{display:flex;align-items:center;gap:9px;font-size:13px;color:#e1ebff;font-weight:800}
.apx-checkbox-label input{accent-color:#9eacff;width:18px;height:18px}
.apx-save{position:sticky;bottom:10px;z-index:2;background:#12243c;border:1px solid rgba(160,185,240,.38);border-radius:13px;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:24px;box-shadow:0 12px 35px rgba(0,0,0,.2)}
.apx-save span{color:#bac8e4;font-size:13px}
@media(max-width:740px){.apx-shell{padding:20px;border-radius:15px;margin:18px auto 35px}.apx-heading,.apx-save{align-items:flex-start;flex-direction:column}.apx-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.apx-stat{padding:12px}.apx-stat strong{font-size:24px}.apx-stat span{font-size:11px}.apx-columns{grid-template-columns:1fr}.apx-panel{padding:19px}.apx-client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.apx-client .apx-pin-panel{padding:22px}.apx-choice-name{font-size:11px}}
@media(max-width:400px){.apx-client-grid{grid-template-columns:1fr}}
