:root{--bg:#f5f6f3;--bg-strong:#e9ece6;--panel:#fff;--panel-muted:#f7f8f6;--panel-tinted:#edf6f4;--text:#17201d;--text-strong:#0f1715;--muted:#65716d;--muted-strong:#4b5954;--border:#dce3de;--border-strong:#c4cec8;--primary:#0f766e;--primary-strong:#0b5f59;--primary-soft:#dff3ef;--accent:#8b5e16;--accent-soft:#fff4d7;--danger:#b42318;--danger-strong:#8f1d14;--danger-soft:#fff0ed;--focus:#2563eb;--shadow-sm:0 1px 2px #1118140f;--shadow:0 14px 34px #11181414;--radius:8px;--radius-sm:6px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.6}h1,h2,p,dl,dd{margin:0}h1{color:var(--text-strong);font-size:30px;line-height:1.18}h2{color:var(--text-strong);font-size:17px;line-height:1.3}label{color:var(--muted-strong);gap:7px;font-size:13px;font-weight:750;display:grid}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:42px;color:var(--text);background:#fff;padding:9px 11px;transition:border-color .16s,box-shadow .16s,background .16s}textarea{resize:vertical}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}input[type=range]{min-height:28px;accent-color:var(--primary);padding:0}input[type=checkbox]{accent-color:var(--primary)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.loading,.login-shell{place-items:center;min-height:100svh;padding:24px;display:grid}.loading{color:var(--muted);font-weight:800}.login-shell{background:var(--bg-strong)}.login-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);width:min(440px,100%);box-shadow:var(--shadow);gap:18px;padding:30px;display:grid}.login-brand{align-items:center;gap:12px;padding-bottom:4px;display:flex}.login-brand-mark,.brand-mark{border-radius:var(--radius);color:#fff;background:var(--primary);flex:none;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.login-brand strong{color:var(--text);font-size:13px;display:block}.login-heading{gap:8px;display:grid}.login-heading p,.topbar p,.section-heading p,.history-card p,.empty-state p{color:var(--muted);line-height:1.55}.eyebrow{color:var(--primary);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:850}.error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);border:1px solid #ffc9c0;padding:10px 12px;font-weight:750}.icon-button{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 13px;font-weight:800;line-height:1;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.icon-button.compact{min-height:36px;padding:7px 10px;font-size:13px}.icon-button.icon-only{width:38px;padding:0}.icon-button.primary{color:#fff;background:var(--primary)}.icon-button.primary:hover{background:var(--primary-strong)}.icon-button.ghost{color:var(--text);background:var(--panel);border-color:var(--border)}.icon-button.ghost:hover{border-color:var(--border-strong);background:var(--panel-muted)}.icon-button.danger{color:#fff;background:var(--danger)}.icon-button.danger:hover{background:var(--danger-strong)}.icon-button.loading{gap:9px}.spinner{border:2px solid;border-top-color:#0000;border-radius:999px;flex:none;width:16px;height:16px;animation:.75s linear infinite spin;display:inline-block}.spinner.large{border-width:3px;width:30px;height:30px}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{grid-template-columns:272px minmax(0,1fr);min-height:100svh;display:grid}.sidebar{color:#edf8f5;background:#122622;grid-template-rows:auto 1fr auto;gap:26px;height:100svh;padding:22px 18px;display:grid;position:sticky;top:0}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand strong,.brand span,.sidebar-footer span,.user-chip strong{display:block}.brand span,.sidebar-footer span{color:#aec5bd;font-size:13px}.app-nav{align-content:start;gap:8px;display:grid}.app-nav button{border-radius:var(--radius-sm);color:#d8e8e3;background:0 0;border:1px solid #0000;justify-content:flex-start;align-items:center;gap:10px;min-height:42px;padding:9px 12px;font-weight:850;display:inline-flex}.app-nav button.active,.app-nav button:hover{color:#fff;background:#ffffff1f}.sidebar-footer{gap:12px;display:grid}.tenant-switcher{color:#c8dbd5;gap:6px}.tenant-switcher select{color:#fff;background:#1e3c37;border-color:#ffffff2e}.user-chip{border-radius:var(--radius-sm);background:#ffffff14;border:1px solid #ffffff1f;min-width:0;padding:10px 12px}.user-chip strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.workspace{min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.topbar>div:first-child{gap:6px;min-width:0;display:grid}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.stat-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.stat-pill{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);max-width:220px;min-height:36px;box-shadow:var(--shadow-sm);align-items:center;gap:8px;padding:7px 10px;display:inline-flex}.stat-pill span{color:var(--muted);font-size:12px;font-weight:800}.stat-pill strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.content-grid,.upload-grid{grid-template-columns:minmax(292px,340px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.watermark-grid{grid-template-columns:minmax(0,1fr) minmax(324px,380px);align-items:start;gap:22px;display:grid}.watermark-workspace{gap:14px;min-width:0;display:grid}.tool-panel,.table-panel,.admin-panel,.source-picker-panel,.preview-panel,.library-section,.history-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.tool-panel{gap:14px;padding:14px;display:grid;position:sticky;top:28px}.watermark-tools{align-content:start}.source-picker-panel{gap:14px;padding:16px;display:grid}.workflow-status{border-radius:var(--radius);background:var(--accent-soft);border:1px solid #8b5e1647;gap:4px;padding:12px;display:grid}.workflow-status strong{color:#68420c}.workflow-status span{color:#75591f;font-size:12px;font-weight:750}.tool-section{border-top:1px solid var(--border);gap:10px;padding-top:12px;display:grid}.tool-section:first-of-type{border-top:0;padding-top:0}.tool-section-title{color:var(--text-strong);align-items:center;gap:8px;display:flex}.tool-section-title span{border-radius:var(--radius-sm);width:26px;height:24px;color:var(--primary);background:var(--primary-soft);place-items:center;font-size:12px;font-weight:900;display:grid}.tool-section-title strong{font-size:14px}.directory-panel,.directory-list,.directory-create,.directory-edit-form,.button-stack,.library-panel,.image-editor{gap:10px;display:grid}.directory-panel,.preset-panel,.watermark-settings{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-muted);gap:10px;padding:12px;display:grid}.directory-panel-header,.preset-panel-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.directory-panel-header span,.directory-panel-header small,.preset-panel-header span,.preset-panel-header small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.directory-panel-header span,.preset-panel-header span{color:var(--text);font-weight:900}.directory-panel-header small,.preset-panel-header small{color:var(--muted);margin-top:2px;font-size:12px}.directory-search{display:block;position:relative}.directory-search svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.directory-search input{padding-left:34px}.directory-create{grid-template-columns:minmax(0,1fr) auto}.directory-list{max-height:280px;padding-right:2px;overflow-y:auto}.directory-item{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.directory-item.active{background:var(--primary-soft);border-color:#0f766e73}.directory-open{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;font-weight:800;display:grid}.directory-open span,.directory-open small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.directory-open small{color:var(--muted);font-size:12px}.directory-actions,.preset-actions{gap:5px;padding-right:6px;display:flex}.directory-edit-form{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto;padding:6px}.source-directory-list{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;display:grid}.source-directory-button{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;min-height:44px;color:var(--text);text-align:left;background:#fff;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;font-weight:850;display:grid}.source-directory-button:hover,.source-directory-button.active{background:var(--primary-soft);border-color:#0f766e73}.source-directory-button span,.source-directory-button small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.source-directory-button small{color:var(--muted);font-size:12px}.upload-drop{text-align:center;border-radius:var(--radius);background:var(--panel-tinted);border:1px dashed #91aaa3;place-items:center;gap:7px;min-height:138px;padding:18px;transition:border-color .16s,background .16s,color .16s;display:grid}.upload-drop input{display:none}.upload-drop:hover{border-color:var(--primary);background:#e5f5f2}.upload-drop.disabled{opacity:.62}.upload-drop.loading{color:var(--primary);background:var(--primary-soft);opacity:1;border-color:#0f766e85}.upload-drop span,.upload-drop small{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.upload-drop span{font-weight:900}.upload-drop small{color:var(--muted);font-size:12px;font-weight:800}.watermark-inputs{grid-template-columns:72px minmax(0,1fr) 86px;gap:8px;display:grid}.watermark-inputs input{min-width:0}.preset-save-row,.color-setting,.font-setting,.settings-pair{gap:8px;display:grid}.preset-save-row{grid-template-columns:minmax(0,1fr) auto}.preset-card-list{gap:8px;display:grid}.preset-card{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text);text-align:left;background:#fff;gap:6px;padding:10px;display:grid}.preset-card:hover,.preset-card.active{background:var(--primary-soft);border-color:#0f766e75}.preset-card-title,.preset-card-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.preset-card-title{font-weight:900}.preset-card-meta{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:800;display:flex}.preset-card-meta span{flex:none}.preset-color-dot{border:1px solid #18211f2e;border-radius:999px;flex:none;width:14px;height:14px;box-shadow:inset 0 0 0 1px #ffffff80}.preset-empty{border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--muted);background:#fff;margin:0;padding:10px;font-size:13px}.settings-title{color:var(--text);justify-content:space-between;align-items:center;gap:8px;font-weight:900;display:flex}.settings-title-main,.settings-toggle,.settings-summary{align-items:center;gap:8px;display:flex}.settings-title-main{min-width:0}.settings-title-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:32px;color:var(--text);background:#fff;flex:none;padding:6px 9px;font-size:13px;font-weight:850}.settings-toggle:hover{color:var(--primary);background:#eef8f6;border-color:#0f766e6b}.settings-body{gap:11px;display:grid}.settings-summary{border:1px solid var(--border);border-radius:var(--radius-sm);min-width:0;color:var(--muted);background:#fff;padding:10px;font-size:13px;font-weight:800}.settings-summary span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.watermark-settings label{gap:6px}.watermark-settings label>span{color:var(--text);font-size:13px}.color-setting{grid-template-columns:48px minmax(0,1fr)}.color-setting input[type=color]{min-height:42px;padding:4px}.font-setting{grid-template-columns:38px minmax(0,1fr);align-items:center}.font-setting svg{color:var(--muted);justify-self:center}.settings-pair{grid-template-columns:1fr 1fr}.section-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.section-heading>div{gap:4px;min-width:0;display:grid}.preview-panel,.library-section{gap:14px;padding:16px;display:grid}.preview-strip{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px;display:grid}.preview-strip figure{background:var(--panel-muted);border:1px solid var(--border);border-radius:var(--radius);margin:0;padding:10px}.preview-image-button,.image-tile-image-button{border-radius:var(--radius-sm);cursor:zoom-in;background:0 0;border:0;width:100%;padding:0;display:block}.preview-strip img,.preview-image-button img,.image-tile-image-button img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);background:#e4e9e5;width:100%}.preview-image-button:focus-visible,.image-tile-image-button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.preview-strip figcaption{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:13px;font-weight:800;overflow:hidden}.image-grid{grid-template-columns:repeat(auto-fill,minmax(194px,1fr));gap:14px;display:grid}.image-tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);min-height:258px;box-shadow:var(--shadow-sm);padding:10px;transition:border-color .16s,box-shadow .16s,transform .16s;position:relative;overflow:hidden}.image-tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.image-tile.selected{border-color:var(--primary);box-shadow:0 0 0 2px #0f766e24}.image-tile .tile-checkbox{border-radius:6px;width:22px;height:22px;position:absolute;top:18px;left:18px}.image-tile span,.image-tile small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.image-tile span{color:var(--text);margin-top:10px;font-weight:900}.image-tile small{color:var(--muted);font-size:12px;font-weight:650}.image-editor{margin-top:10px}.tile-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.image-tile>.tile-actions{margin-top:10px}.history-panel{gap:14px;display:grid}.table-panel{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:14px 16px}th{color:var(--muted);background:var(--panel-muted);font-size:12px;font-weight:900}td{color:var(--text)}tr:last-child td{border-bottom:0}.download-link{color:var(--primary);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-weight:850;text-decoration:none;display:inline-flex}.download-link:hover,.download-link:focus-visible{color:var(--primary-strong)}.watermark-summary{color:var(--muted);margin-top:4px;font-size:12px;font-weight:700;display:block}.history-card-list{gap:12px;display:none}.history-card{gap:14px;padding:14px;display:grid}.history-card dl{gap:8px;display:grid}.history-card dl div{gap:2px;min-width:0;display:grid}.history-card dt{color:var(--muted);font-size:12px;font-weight:850}.history-card dd{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.admin-grid{grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);align-items:start;gap:22px;display:grid}.admin-panel{align-content:start;gap:16px;padding:18px;display:grid}.inline-form,.user-form{gap:10px;display:grid}.inline-form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.user-form{grid-template-columns:repeat(2,minmax(0,1fr))}.user-form .icon-button{grid-column:1/-1}.plain-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.plain-list li{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;align-items:center;gap:8px;min-width:0;padding:10px 12px;display:flex}.plain-list.users li{gap:2px;display:grid}.plain-list.users span,.plain-list.users small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.empty-state{border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--muted);background:var(--panel-muted);text-align:center;justify-items:center;gap:8px;padding:28px 18px;display:grid}.empty-state-icon{border-radius:var(--radius);width:42px;height:42px;color:var(--primary);background:var(--primary-soft);place-items:center;display:grid}.empty-state strong{color:var(--text)}.preview-lightbox{z-index:20;overscroll-behavior:contain;background:#090e0de6;grid-template-rows:auto auto minmax(0,1fr);gap:12px;padding:18px 24px 24px;display:grid;position:fixed;inset:0;overflow:hidden}.lightbox-title{color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;justify-self:center;max-width:min(720px,100vw - 120px);font-weight:850;overflow:hidden}.lightbox-viewport{overscroll-behavior:contain;place-items:center;width:100%;min-height:0;display:grid;overflow:auto}.lightbox-viewport img{object-fit:contain;border-radius:var(--radius);flex:none;display:block;box-shadow:0 22px 70px #00000073}.lightbox-controls{color:#fff;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;justify-self:center;align-items:center;gap:8px;min-height:42px;padding:5px;display:inline-flex}.lightbox-controls button,.lightbox-close{color:#fff;background:#ffffff24;border:1px solid #ffffff29;place-items:center;display:grid}.lightbox-controls button{border-radius:999px;width:34px;height:34px}.lightbox-controls button:hover,.lightbox-close:hover{background:#ffffff3d}.lightbox-controls button:disabled{opacity:.38}.lightbox-controls span{text-align:center;min-width:50px;font-size:13px;font-weight:900}.lightbox-close{border-radius:999px;width:42px;height:42px;position:absolute;top:16px;right:16px}@media (width<=1180px){.content-grid,.upload-grid,.watermark-grid,.admin-grid{grid-template-columns:1fr}.tool-panel{position:static}}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{z-index:10;grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:14px;height:auto;min-height:auto;padding:14px;position:sticky}.brand-mark{width:38px;height:38px}.app-nav{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:6px}.app-nav button{justify-content:center;padding:9px 8px}.sidebar-footer{grid-template-columns:minmax(0,1fr) auto auto;align-items:end}.tenant-switcher{min-width:0}.user-chip{min-width:118px}.workspace{padding:20px}.topbar{display:grid}.topbar-actions,.stat-row{justify-content:flex-start}.content-grid,.upload-grid,.watermark-grid,.admin-grid{gap:16px}}@media (width<=760px){h1{font-size:25px}.login-panel{padding:22px}.workspace{padding:16px}.sidebar-footer{grid-template-columns:1fr}.user-chip{min-width:0}.content-grid,.upload-grid,.watermark-grid{grid-template-columns:minmax(0,1fr)}.tool-panel,.source-picker-panel,.preview-panel,.library-section,.admin-panel{padding:14px}.section-heading{display:grid}.directory-create,.directory-edit-form,.preset-save-row,.settings-pair,.inline-form,.user-form,.watermark-inputs{grid-template-columns:1fr}.preview-strip,.image-grid,.source-directory-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.image-tile{min-height:238px}.table-panel{display:none}.history-card-list{display:grid}.stat-pill{max-width:100%}.lightbox-title{max-width:calc(100vw - 88px)}.preview-lightbox{padding:18px 12px 16px}}@media (width<=430px){.app-nav button{gap:6px;font-size:13px}.topbar-actions{justify-content:stretch;display:grid}.stat-row{grid-template-columns:1fr;display:grid}.preview-strip,.image-grid,.tile-actions{grid-template-columns:1fr}}
