:root{color:#17202f;background:#f5f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}html,body,#root{height:100%}button,input{font:inherit}.app-shell{display:grid;grid-template-columns:292px 1fr;height:100vh;overflow:hidden}.sidebar{display:flex;flex-direction:column;gap:18px;min-height:0;height:100vh;border-right:1px solid #dde3ee;background:#fff;padding:22px 18px}.brand{display:flex;align-items:center;gap:12px;min-height:54px}.brand-mark{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;background:radial-gradient(circle at 30% 24%,#ffb14a 0 18%,transparent 19%),linear-gradient(135deg,#e8415f,#ff7a3d);color:#fff;box-shadow:0 10px 24px #e8415f3d;font-weight:800}.brand-mark span{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:#ffffff2e;font-size:14px;line-height:1}.brand-mark span+span{margin-left:-5px;margin-top:8px;background:#17202f2e}.brand>div:last-child strong,.brand>div:last-child span{display:block}.brand>div:last-child span,.eyebrow,.task-item small,.section-heading span,.upload-zone span,.summary-row span{color:#6d788a;font-size:13px}.primary-action,.ghost-action,.secondary-action,.danger-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:8px;cursor:pointer}.primary-action{background:#e8415f;color:#fff;font-weight:700}.primary-action:hover{background:#d73351}.primary-action.compact{padding:0 18px}.primary-action.full{width:100%}.ghost-action{margin-top:auto;background:#f2f5fa;color:#344054}.secondary-action{border:1px solid #d7deea;background:#fff;color:#344054;font-weight:700;padding:0 18px}.secondary-action:hover{background:#f7f9fc}.danger-action{background:#d92d20;color:#fff;font-weight:700;padding:0 18px}.danger-action:hover{background:#b42318}.task-list{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto;padding-right:2px}.task-item{display:flex;align-items:center;gap:10px;width:100%;min-height:76px;border:1px solid #e0e6f0;border-radius:8px;background:#fff;padding:14px;color:inherit;text-align:left;cursor:pointer}.task-item.active{border-color:#e8415f;background:#fff1f4}.task-item strong,.task-item small{display:block}.task-item>span:nth-child(2){min-width:0;flex:1}.task-item strong,.task-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-select{display:grid;flex:0 0 auto;width:28px;height:28px;place-items:center;border-radius:8px;color:#98a2b3}.task-select:hover{background:#f2f5fa;color:#e8415f}.task-select.selected{color:#e8415f}.task-tools{display:flex;flex:0 0 auto;gap:8px;color:#7b8594}.workspace{min-width:0;height:100vh;overflow:auto;padding:28px 32px 46px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.topbar h1{margin:3px 0 0;font-size:28px;letter-spacing:0}.searchbar{display:flex;align-items:center;gap:10px;width:min(460px,42vw);height:44px;border:1px solid #dfe5ef;border-radius:8px;background:#fff;padding:0 14px;color:#667085}.searchbar input{width:100%;border:0;outline:0}.upload-zone{display:grid;place-items:center;gap:8px;min-height:156px;border:1.5px dashed #e8415f;border-radius:8px;background:#fffafb;color:#e8415f;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.upload-zone.drag-active{border-color:#12b76a;background:#f0fff7;box-shadow:inset 0 0 0 2px #12b76a24;color:#0b8f52;transform:translateY(-1px)}.upload-zone input{display:none}.upload-zone strong{color:#253044}.upload-advice{margin:-2px 0 0;color:#7b8594;font-size:13px}.upload-progress{display:grid;gap:8px;width:min(560px,calc(100% - 48px));margin-top:6px}.upload-progress-meta,.upload-progress-detail{display:flex;align-items:center;justify-content:space-between;gap:12px}.upload-progress-meta span{color:#253044;font-weight:700}.upload-progress-meta strong{color:#e8415f;font-size:13px}.progress-track{overflow:hidden;height:8px;border-radius:999px;background:#ffe3e9}.progress-fill{height:100%;border-radius:inherit;background:#e8415f;transition:width .18s ease}.progress-fill.processing{background:linear-gradient(90deg,#e8415f,#ff8a3d,#e8415f);background-size:220% 100%;animation:progress-sweep 1.2s linear infinite}.upload-progress-detail span{color:#7b8594;font-size:12px}@keyframes progress-sweep{0%{background-position:0 0}to{background-position:220% 0}}.summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:22px 0;overflow:hidden;border:1px solid #e3e8f1;border-radius:8px;background:#e3e8f1}.summary-row div{display:grid;gap:6px;background:#fff;padding:16px}.summary-row strong{font-size:22px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:4px 0 14px}.section-heading h2{margin:0;font-size:18px}.section-heading span{max-width:min(680px,58vw);overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}.image-grid.search-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.image-tile{position:relative;overflow:hidden;aspect-ratio:9 / 16;border:1px solid #dde3ee;border-radius:8px;background:#eef2f7;cursor:pointer}.task-badge{position:absolute;top:10px;left:10px;z-index:1;max-width:calc(100% - 20px);overflow:hidden;border-radius:8px;background:#17202fd1;color:#fff;font-size:12px;font-weight:700;line-height:1;padding:7px 9px;text-overflow:ellipsis;white-space:nowrap}.image-tile img{width:100%;height:100%;object-fit:cover;transition:transform .16s ease}.image-tile:hover img{transform:scale(1.025)}.empty-state,.empty-inline{display:grid;place-items:center;gap:10px;min-height:360px;border:1px solid #e1e7f0;border-radius:8px;background:#fff;color:#6d788a;text-align:center}.empty-state h2{margin:0;color:#17202f}.empty-state p{margin:0 0 8px}.login-screen{display:grid;min-height:100vh;place-items:center;background:linear-gradient(120deg,rgb(232 65 95 / 12%),transparent 48%),#f5f7fb}.login-panel{display:grid;gap:16px;width:min(420px,calc(100vw - 32px));border:1px solid #e2e8f2;border-radius:8px;background:#fff;padding:30px}.login-panel h1{margin:0;font-size:28px}.login-panel p{margin:-6px 0 4px;color:#667085}.login-panel label{display:grid;gap:7px;color:#344054;font-weight:700}.login-panel input{height:44px;border:1px solid #d9e0eb;border-radius:8px;padding:0 12px}.form-error{color:#c92f4a;font-size:14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:#0f172a7a;padding:24px}.task-dialog{position:relative;display:grid;gap:16px;width:min(440px,calc(100vw - 32px));border:1px solid #e2e8f2;border-radius:8px;background:#fff;padding:28px;box-shadow:0 24px 70px #1018283d}.task-dialog h2{margin:0;color:#17202f;font-size:22px}.task-dialog p{margin:-8px 0 0;color:#667085;line-height:1.6}.dialog-close{position:absolute;top:16px;right:16px;display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:8px;background:#f2f5fa;color:#667085;cursor:pointer}.dialog-close:hover{background:#e8edf5}.dialog-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:8px;background:#fff1f4;color:#e8415f}.dialog-icon.danger{background:#fff4ed;color:#d92d20}.dialog-field{display:grid;gap:8px;color:#344054;font-weight:700}.dialog-field input{height:44px;border:1px solid #d9e0eb;border-radius:8px;padding:0 12px;outline:0}.dialog-field input:focus{border-color:#e8415f;box-shadow:0 0 0 3px #e8415f1f}.delete-summary{display:grid;gap:5px;border:1px solid #fedf89;border-radius:8px;background:#fffbeb;padding:14px}.delete-summary span,.delete-summary small{color:#8a5b16;font-size:13px}.delete-summary strong{color:#17202f;font-size:17px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:2px}.preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#0c121cb8;padding:28px}.preview-dialog{position:relative;max-width:min(460px,92vw);max-height:92vh}.preview-task-name{position:absolute;top:12px;left:12px;z-index:1;max-width:calc(100% - 24px);overflow:hidden;border-radius:8px;background:#17202fd6;color:#fff;font-size:13px;font-weight:700;padding:8px 10px;text-overflow:ellipsis;white-space:nowrap}.preview-dialog img{max-width:100%;max-height:92vh;border-radius:8px;box-shadow:0 24px 70px #00000059}.icon-button{position:absolute;top:-14px;right:-14px;display:grid;width:36px;height:36px;place-items:center;border:0;border-radius:50%;background:#fff;cursor:pointer}@media (max-width: 860px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.sidebar{height:auto;min-height:0;position:static}.workspace{height:auto;overflow:visible}.topbar{align-items:stretch;flex-direction:column}.searchbar{width:100%}.summary-row{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column;gap:6px}.section-heading span{max-width:100%;text-align:left}}
