:root{--forest:#022f1d;--primary:#125638;--primary-hover:#0a4029;--lime:#9bc522;--lime-soft:#edf5d7;--canvas:#f5f7f0;--surface:#fff;--text:#173c2b;--muted:#52675b;--border:#c9d6c8;--focus:#426b13;--error:#a52e35;--error-soft:#fff0ef;--shadow:0 5px 22px #022f1d08;font:17px/1.5 system-ui,sans-serif;color:var(--text);background:var(--canvas);accent-color:var(--primary);color-scheme:light}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px max(16px,calc((100% - 800px)/2));background:var(--surface);border-bottom:1px solid var(--border);box-shadow:0 3px 0 var(--lime-soft)}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:5px;flex-shrink:0;color:var(--forest);text-decoration:none}.brand-logo{display:block;width:190px;height:auto}.brand small{font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--muted)}nav{display:flex;gap:8px;align-items:center}nav button{font-size:15px}nav button:first-child{background:var(--surface);color:var(--primary)}main{max-width:760px;margin:auto;padding:22px 18px}#view>h1:first-child{margin-top:24px}h1,h2,h3{color:var(--forest);letter-spacing:-.025em}h1{font-size:32px;line-height:1.18}h2{font-size:23px;line-height:1.3}button,.button{font:inherit;font-weight:600;min-height:46px;padding:10px 16px;border:1px solid var(--primary);border-radius:11px;background:var(--primary);color:white;cursor:pointer;text-decoration:none;display:inline-block;line-height:1.45;transition:background .15s,border-color .15s}button:hover,.button:hover{background:var(--primary-hover);border-color:var(--primary-hover)}button.secondary{background:var(--surface);color:var(--primary)}button.secondary:hover{background:var(--lime-soft)}button:disabled{opacity:.55;cursor:wait}button.destructive{background:var(--surface);color:var(--error);border-color:#d3a5a4}button.destructive:hover{background:var(--error-soft)}input,textarea{display:block;width:100%;font:inherit;padding:12px;border:1px solid #91a58e;border-radius:9px;margin:6px 0 16px;background:var(--surface);color:var(--text)}textarea{min-height:110px}label{display:block;font-weight:600}form{max-width:540px}.notice,footer{font-size:14px;color:var(--muted)}.notice{padding:10px 14px;background:var(--lime-soft);border-left:4px solid var(--lime);border-radius:0 9px 9px 0}.notice:empty{display:none}footer{max-width:760px;margin:24px auto;padding:18px;border-top:1px solid var(--border)}#status:not(:empty){padding:12px 15px;border:1px solid #bdd09d;border-radius:10px;background:var(--lime-soft);color:var(--forest);overflow-wrap:anywhere}#status[data-tone=error]:not(:empty){border-color:#d3a5a4;border-left:4px solid var(--error);background:var(--error-soft);color:#82232a}.art{display:block;width:100%;height:auto;max-width:600px;border-radius:14px;margin:18px 0}.qr{display:block;width:min(100%,360px);height:auto;margin:16px auto;background:white;border:16px solid white}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.tile{display:block;width:100%;text-align:left;background:var(--surface);color:var(--text);margin:12px 0;border:1px solid var(--border);box-shadow:var(--shadow);padding:18px}.tile:hover{background:#fafcf6;border-color:var(--primary);color:var(--forest)}.tile img{max-width:180px;display:block;border-radius:8px;margin-bottom:10px}.link{overflow-wrap:anywhere}.muted{color:var(--muted)}#scan-help{padding:18px;background:var(--lime-soft);border:1px solid var(--border);border-radius:12px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 6px var(--lime-soft)}select{display:block;width:100%;max-width:540px;min-height:46px;font:inherit;padding:10px;border:1px solid #91a58e;border-radius:9px;background:var(--surface);color:var(--text);margin:8px 0 18px}input[type=checkbox]{display:inline;width:auto;margin:10px 10px 10px 0}input[type=file]{font-size:15px}small{display:block}.company-group,.admin-panel,.review{padding:20px;margin:22px 0;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.admin-panel{border-top:4px solid var(--lime)}.review{border-left:4px solid var(--lime);background:#fafcf4}.review button,.admin-panel button{margin:5px}.tile small{font-weight:400;color:var(--muted);margin-top:8px}.match-snippet{margin-bottom:0;font-size:15px;background:var(--lime-soft);padding:9px;border-radius:7px;color:var(--forest)}.encounter,.member{border-bottom:1px solid var(--border);padding:10px 0}.invitation{overflow-wrap:anywhere;border:1px dashed var(--primary);background:var(--lime-soft);padding:14px;margin:14px 0;border-radius:9px}pre{white-space:pre-wrap;font:14px/1.5 system-ui;background:var(--canvas);padding:14px;border-radius:9px}.company-group .art{max-width:350px}.email-actions{margin:20px 0;padding:16px;background:var(--lime-soft);border:1px solid #d3dfbf;border-radius:12px}.email-address{overflow-wrap:anywhere;color:var(--primary);font-weight:650}.email-actions .actions{margin:12px 0}.email-actions p{margin-bottom:0}a{color:var(--primary)}summary{cursor:pointer;color:var(--primary);font-weight:600}code{overflow-wrap:anywhere}
@media(max-width:480px){header{align-items:center;gap:10px;padding:14px 16px}.brand-logo{width:155px}.brand small{font-size:11px}nav{flex-direction:column;align-items:stretch;gap:6px;min-width:96px;max-width:44%}nav button{padding:7px 10px;font-size:14px;min-height:40px;overflow-wrap:anywhere}main{padding:16px}h1{font-size:28px}.company-group,.admin-panel,.review{padding:15px}.actions{gap:9px}.actions button,.actions .button{flex-grow:1}input,textarea,select{font-size:16px}.notice{font-size:13px}}
@media(min-width:850px){main{max-width:1100px}header{padding-left:max(20px,calc((100% - 1100px)/2));padding-right:max(20px,calc((100% - 1100px)/2))}#results .company-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#results .company-group h2{grid-column:1/-1}#results .tile{margin:0}footer{max-width:1100px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.designer-form{max-width:720px}.design-preview{margin:24px 0;padding:18px;background:white;border:1px solid var(--border);border-radius:16px}.design-preview .art{max-width:1000px}.camera-frame{position:relative;width:100%;max-width:640px;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:#16271e}.camera-frame video{display:block;width:100%;height:100%;object-fit:cover}.camera-guide{position:absolute;left:8%;top:50%;width:84%;aspect-ratio:85/55;transform:translateY(-50%);border:3px solid #d5f274;border-radius:9px;box-shadow:0 0 0 999px #001d187a;pointer-events:none}.camera-frame.portrait .camera-guide{height:84%;width:auto;aspect-ratio:55/85;left:50%;transform:translate(-50%,-50%)}.crop-editor{position:relative;max-width:760px;line-height:0;overflow:hidden;border-radius:12px;background:#163a29}.crop-editor img{display:block;width:100%;height:auto}.crop-selection{position:absolute;border:3px solid #d5f274;box-shadow:0 0 0 999px #001d187a;pointer-events:none}.crop-controls{max-width:760px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:20px}input[type=range]{padding:8px 0}button[aria-disabled=true]{opacity:.55;cursor:not-allowed}.camera-panel{margin:18px 0}.design-preview img{background:white}@media(max-width:480px){.crop-controls{grid-template-columns:1fr}.design-preview{padding:10px}}
@media(min-width:950px){#view:has(.designer-form){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}#view:has(.designer-form)>h1,#view:has(.designer-form)>p,#view:has(.designer-form)>label{grid-column:1/-1;margin-bottom:0}.designer-form{grid-column:1}.design-preview{grid-column:2;align-self:start;position:sticky;top:20px;margin-top:0}}
