:root{--bg:#f6f8fc;--card:#fff;--text:#202124;--muted:#5f6368;--primary:#1a73e8;--primary-ink:#174ea6;--border:#e0e3e7;--hover:#eef3fe;--chip:#e8f0fe;--danger:#d93025;--surface-darker:#e9edf3}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:"Roboto",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}
.container{max-width:1100px;margin:16px auto;padding:0 16px}
.panel{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.card{border:1px solid var(--border);border-radius:14px;background:var(--card);padding:12px;display:flex;gap:12px;align-items:center}
.card:hover{background:var(--hover)}
.preview{border:1px solid var(--border);border-radius:10px;display:grid;place-items:center;overflow:hidden;background:var(--surface-darker)}
.preview-full{width:100%;height:49vh;max-height:calc((100vh - 220px) * 0.7);display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--surface-darker);border:1px solid var(--border);border-radius:10px}
.preview-full img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;display:block}
.meta{flex:1;min-width:0}.meta .title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta .sub{color:var(--muted);font-size:12px}
.form-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.form-row>*{flex:1;min-width:220px}
.form-col{display:flex;flex-direction:column;gap:12px}
label{font-size:12px;color:var(--muted);display:block;margin:0 0 4px}
input[type="text"],input[type="password"],select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff;outline:none;height:38px}
textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff;outline:none;font-family: ui-monospace,Consolas,Monaco,monospace;height:38px;min-height:38px;resize:vertical}
.table{width:100%;border-collapse:separate;border-spacing:0;margin-top:8px}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--border);font-size:14px;text-align:left}.table th{color:var(--muted);background:#fafbfc}
.flash{background:#e6f4ea;color:#137333;border:1px solid #c9e6cf;padding:10px 12px;border-radius:12px;margin:12px 0}
.footer{color:var(--muted);text-align:center;font-size:12px;margin:24px 0}
.sep{border:none;border-top:1px solid var(--border);margin:14px 0}
.dropzone{display:flex;align-items:center;justify-content:center;width:100%;min-height:160px;padding:18px;border:2px dashed var(--border);border-radius:16px;background:var(--surface-darker);transition:background .15s,border-color .15s}
.dropzone:hover{background:var(--hover)}.dropzone.dragover{background:#eaf2ff;border-color:var(--primary)}
.dropzone p{margin:0;color:var(--muted)}.dropzone strong{color:var(--text)}
/* Admin template blocks */
.template-card{border:1px solid var(--border); border-radius:14px; padding:12px; background:var(--surface-darker); margin-bottom:12px}
.template-row{display:grid; grid-template-columns: 1fr 1fr 1fr auto; gap:12px; align-items:center}
.template-row .field{display:flex; flex-direction:column; gap:4px}
.template-row .actions{display:flex; gap:8px; align-items:center}
.template-row + .template-row{margin-top:10px}
/* Upload bottom actions */
.actions-bar{display:flex; gap:8px; align-items:center}
.actions-bar .spacer{flex:1}
/* 20% larger upload button */
.btn.upload-120{ padding: 9.6px 14.4px; font-size: 1.1em; }
.btn,.icon-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:20px;background:var(--card);border:1px solid var(--border);cursor:pointer;font-weight:500;color:var(--text)}
.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.primary:hover{background:var(--primary-ink)}

/* Bigger labels for upload page */
.label-big{ font-size: 1.2em; }
