:root{--ink:#182823;--muted:#77827d;--line:#e7ece8;--green:#087d62;--green-dark:#06664f;--mint:#eaf6f1;--paper:#f8faf8;--coral:#d87458;--shadow:0 18px 52px rgba(17,50,39,.07)}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans','Noto Sans SC',sans-serif;font-size:14px}.topbar{height:76px;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1260px)/2));position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{width:46px;height:46px;border-radius:14px;background:#106c56;color:#fff;display:grid;place-items:center;font-weight:700;letter-spacing:-1px;font-size:17px;box-shadow:0 7px 20px #126c5629}.brand-mark.small{width:38px;height:38px;border-radius:12px;font-size:14px}.brand b,.brand small{display:block}.brand b{font-size:14px;letter-spacing:.01em}.brand small{font-size:11px;color:#8a9690;margin-top:3px}.top-actions{display:flex;align-items:center;gap:22px}.top-actions form{margin:0}.private-tag{background:var(--mint);color:var(--green);padding:9px 12px;border-radius:30px;font-size:12px;font-weight:600}.private-tag i,.lock-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#32a37c;margin-right:5px}.quiet-button{border:0;background:none;color:#78847f;cursor:pointer;font:inherit}.shell{width:min(1120px,calc(100% - 48px));margin:52px auto 30px}.welcome{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 30px}.eyebrow{margin:0 0 12px;color:var(--green);font-size:10px;font-weight:700;letter-spacing:.16em}.welcome h1{font-size:clamp(32px,4vw,48px);letter-spacing:-.045em;line-height:1.17;margin:0;font-weight:600}.welcome h1 em{font-style:normal;color:var(--green)}.intro{margin:15px 0 0;color:#74817b;font-size:14px;line-height:1.8}.stats{display:flex;gap:32px;padding:0 4px 4px 28px}.stats div{display:flex;flex-direction:column;gap:6px}.stats b{font-size:22px;letter-spacing:-.03em}.stats span{color:#88938e;font-size:11px;white-space:nowrap}.upload-panel{background:white;border:1px solid var(--line);border-radius:19px;box-shadow:var(--shadow);padding:18px}.dropzone{min-height:278px;border:1.5px dashed #c5d8cf;border-radius:14px;background:linear-gradient(145deg,#fbfdfb,#f7fbf8);display:flex;align-items:center;justify-content:center;flex-direction:column;transition:.2s;cursor:pointer}.dropzone.dragging{background:#e9f6f0;border-color:var(--green);transform:scale(.995)}.upload-icon{width:54px;height:54px;border:1px solid #d7e8df;border-radius:17px;background:white;display:grid;place-items:center;color:var(--green);margin-bottom:15px}.upload-icon svg{width:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.dropzone h2{font-size:16px;font-weight:600;margin:0}.dropzone p{font-size:12px;color:#8b9691;margin:10px 0 21px}.text-button{border:0;padding:0;background:none;color:var(--green);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.upload-tools{display:flex;align-items:center;gap:22px}.rename-check{display:flex;align-items:center;gap:7px;color:#7c8782;font-size:11px}.rename-check input{accent-color:var(--green)}.primary{border:0;background:var(--green);color:#fff;padding:12px 19px;border-radius:10px;font:600 13px inherit;font-family:inherit;font-weight:600;cursor:pointer;transition:.18s}.primary:hover{background:var(--green-dark);transform:translateY(-1px)}.primary:disabled{opacity:.45;cursor:not-allowed;transform:none}.upload-arrow{font-size:19px;line-height:0;vertical-align:-2px;margin-right:4px}.queue{margin-top:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.queue-item{display:flex;align-items:center;gap:10px;min-width:0;background:#f8faf8;border:1px solid var(--line);border-radius:9px;padding:9px 11px}.queue-item .queue-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.queue-item small{font-size:10px;color:var(--muted)}.queue-item button{border:0;background:none;color:#9c6658;font-size:11px;cursor:pointer}.status{min-height:0;color:#64726c;font-size:12px}.status:not(:empty){padding:8px 4px 0}.status.success{color:var(--green)}.status.error{color:#b54c3d}.status.warning{color:#9d6a22}.status p{margin:3px 0}.links-note{margin:19px 0 47px;border:1px solid #e7eee9;background:#f1f7f3;border-radius:12px;display:flex;align-items:flex-start;gap:13px;padding:16px 18px}.note-icon{width:27px;height:27px;border-radius:9px;background:white;color:var(--green);display:grid;place-items:center;font-size:16px;flex:none}.links-note b{font-size:12px}.links-note p{margin:5px 0 0;color:#7c8882;font-size:11px;line-height:1.6}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:17px}.section-head .eyebrow{margin-bottom:5px}.section-head h2{font-size:22px;margin:0;letter-spacing:-.035em}.count{display:inline-grid;place-items:center;min-width:23px;height:22px;background:#edf2ee;color:#7d8982;border-radius:20px;font-size:11px;vertical-align:3px;margin-left:4px;padding:0 6px}.library-actions{display:flex;gap:9px;align-items:center}.library-actions input{width:205px;border:1px solid var(--line);border-radius:9px;background:white;padding:10px 12px;font:inherit;font-size:12px;outline:none}.library-actions input:focus{border-color:#90b9a9}.secondary{background:white;color:#43554d;text-decoration:none;border:1px solid var(--line);padding:10px 13px;border-radius:9px;font-size:12px;font-weight:600}.secondary span{color:var(--green);font-size:16px;margin-left:5px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.image-card{min-width:0;background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden;transition:box-shadow .2s,transform .2s}.image-card:hover{box-shadow:0 12px 30px #1e3b2a12;transform:translateY(-2px)}.image-card[hidden]{display:none}.thumb{height:176px;background:#f3f5f3;position:relative;display:grid;place-items:center;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:contain}.dimensions{position:absolute;right:8px;bottom:8px;background:#15251ddd;color:white;border-radius:5px;padding:4px 6px;font-size:9px}.card-body{padding:12px}.file-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.file-meta strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.file-meta small{font-size:9px;color:#9aa39f;white-space:nowrap}.url-row{display:flex;background:#f7f9f7;border:1px solid #edf0ed;border-radius:7px;overflow:hidden}.url-row input{width:100%;min-width:0;border:0;background:none;padding:9px 8px;font:11px 'DM Sans',sans-serif;color:#75817b;outline:none}.url-row button{border:0;background:#e9f4ef;color:var(--green);font:600 10px inherit;font-family:inherit;padding:0 10px;cursor:pointer}.card-actions{display:flex;justify-content:space-between;padding:10px 1px 0}.card-actions a,.card-actions button{font:11px inherit;font-family:inherit;text-decoration:none;color:#63716a;background:none;border:0;cursor:pointer}.card-actions a{color:var(--green)}.delete-one{color:#ad7468!important}.empty{border:1px dashed #dce5df;border-radius:14px;background:#fff;padding:56px 20px;text-align:center;color:#829088}.empty-icon{font-size:33px;color:#adc3b7;margin-bottom:12px}.empty b{color:#536159;font-size:14px}.empty p{margin:8px 0 0;font-size:12px}.no-results{text-align:center;color:#89948e;padding:30px}footer{text-align:center;color:#a1aaa5;font-size:10px;padding:38px 0 10px}footer span{padding:0 5px}.login-page{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at 22% 5%,#e8f4ee 0,transparent 42%),#f7faf8}.login-card{width:min(430px,100%);background:white;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:39px}.login-card .brand-mark{margin-bottom:25px}.login-card .eyebrow{margin-bottom:9px}.login-card h1{font-size:28px;letter-spacing:-.04em;margin:0}.muted{color:#818d86;font-size:13px;line-height:1.75;margin:10px 0 26px}.login-form label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}.login-form input{width:100%;border:1px solid #dce5df;border-radius:9px;padding:13px;font:inherit;outline:none}.login-form input:focus{border-color:#64a48d;box-shadow:0 0 0 3px #e8f5ee}.login-form .full{width:100%;margin-top:14px;display:flex;justify-content:center;gap:10px}.alert{font-size:12px;color:#a34f3f;background:#fff2ee;border:1px solid #f3d6cf;border-radius:8px;padding:10px 12px}.login-foot{border-top:1px solid #edf0ed;margin-top:26px;padding-top:17px;color:#87938c;font-size:10px}.login-foot .lock-dot{background:#62a78d}@media(max-width:850px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome h1{font-size:39px}}@media(max-width:600px){.topbar{height:65px;padding:0 17px}.brand small{display:none}.private-tag{font-size:10px;padding:8px}.top-actions{gap:12px}.shell{width:calc(100% - 28px);margin:34px auto}.welcome{align-items:flex-start;gap:12px;flex-direction:column}.welcome h1{font-size:36px}.stats{padding:5px 0 0;gap:24px}.upload-panel{padding:10px;border-radius:15px}.dropzone{min-height:245px;padding:18px 12px;text-align:center}.dropzone h2{font-size:14px}.upload-tools{flex-direction:column;gap:13px}.queue{grid-template-columns:1fr}.links-note{margin:15px 0 36px}.section-head{align-items:flex-start;gap:14px;flex-direction:column}.library-actions{width:100%}.library-actions input{flex:1;min-width:0}.library-grid{grid-template-columns:1fr}.thumb{height:210px}.login-card{padding:29px 23px}}
