:root{--color-bg:#f7f8fa;--color-surface:#fff;--color-text:#1a1f26;--color-text-muted:#5b6472;--color-primary:#1d4ed8;--color-primary-contrast:#fff;--color-success:#15803d;--color-success-bg:#dcfce7;--color-warning:#b45309;--color-warning-bg:#fef3c7;--color-danger:#b91c1c;--color-danger-bg:#fee2e2;--color-border:#d7dbe0;--radius:10px;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:32px;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-text);margin:0;font-size:16px;line-height:1.4}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--color-primary)}.app-shell{flex-direction:column;max-width:720px;min-height:100vh;margin:0 auto;display:flex}.admin-shell{max-width:1100px}.screen{padding:var(--space-3);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));flex:1}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);margin-bottom:var(--space-3)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-2) var(--space-4);border-radius:var(--radius);border:1px solid #0000;width:100%;font-weight:600;display:inline-flex}.btn-primary{background:var(--color-primary);color:var(--color-primary-contrast)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger)}.btn:disabled{opacity:.55;cursor:not-allowed}.field{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;display:flex}.field label{font-size:.9rem;font-weight:600}.field input,.field select,.field textarea{min-height:44px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text)}.badge{align-items:center;gap:var(--space-1);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-neutral{color:var(--color-text-muted);background:#e5e7eb}.text-muted{color:var(--color-text-muted)}.error-message{background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);font-weight:500}.top-bar{z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--space-2) var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-2);display:flex;position:sticky;top:0}.nav-tabs{gap:var(--space-1);padding:var(--space-2);background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;position:sticky;bottom:0}.nav-tabs a{text-align:center;padding:var(--space-2);border-radius:var(--radius);color:var(--color-text-muted);flex:1;font-size:.85rem;font-weight:600;text-decoration:none}.nav-tabs a.active{background:var(--color-bg);color:var(--color-primary)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--color-border)}.admin-nav{gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.admin-nav a{padding:var(--space-1) var(--space-2);border-radius:var(--radius);color:var(--color-text-muted);font-size:.9rem;font-weight:600;text-decoration:none}.admin-nav a.active{background:var(--color-bg);color:var(--color-primary)}@media print{@page{margin:1.5cm}.top-bar,.admin-nav,.nav-tabs,.no-print{display:none!important}body{background:#fff}.qr-print-area{box-shadow:none;text-align:center;page-break-inside:avoid;border:none;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;margin:0;padding:0;display:flex}.qr-print-name{margin:0 0 1cm;font-size:1.8rem;font-weight:700}.qr-print-area img{width:9cm;max-width:100%;height:9cm}.qr-print-caption{color:#000;margin-top:1cm;font-size:1rem}}
