*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f7f8fa;--surface: #ffffff;--border: #e8eaed;--text-primary: #1a1a1a;--text-secondary: #6b7280;--red: #ef4444;--red-bg: #fef2f2;--yellow: #f59e0b;--yellow-bg: #fffbeb;--green: #22c55e;--green-bg: #f0fdf4;--accent: #3b82f6;--accent-bg: #eff6ff;--nav-h: 64px;--radius: 12px;--radius-sm: 8px}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased}#root{height:100%}.app{display:flex;flex-direction:column;height:100%;max-width:480px;margin:0 auto;background:var(--bg);position:relative}.screen{flex:1;overflow-y:auto;padding:16px 16px calc(var(--nav-h) + 16px)}.page-title{font-size:22px;font-weight:700;margin-bottom:16px;color:var(--text-primary)}.zone-card{background:var(--surface);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;border:1px solid var(--border)}.zone-card.red{border-left:3px solid var(--red);background:var(--red-bg)}.zone-card.yellow{border-left:3px solid var(--yellow);background:var(--yellow-bg)}.zone-card.green{border-left:3px solid var(--green);background:var(--green-bg)}.zone-heading{font-size:15px;font-weight:600;margin-bottom:6px}.zone-line{font-size:14px;color:var(--text-primary);padding:2px 0}.zone-note{font-size:12px;color:var(--text-secondary);margin-top:6px;font-style:italic}.action-buttons{display:flex;flex-direction:column;gap:8px;margin:12px 0}.btn{display:block;width:100%;padding:14px 16px;border-radius:var(--radius-sm);border:none;background:var(--surface);border:1px solid var(--border);font-size:15px;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:left;transition:background .15s;-webkit-tap-highlight-color:transparent}.btn:active{background:var(--accent-bg)}.btn.yellow{border-left:3px solid var(--yellow)}.btn.red{border-left:3px solid var(--red)}.btn.ghost{background:var(--bg);color:var(--text-secondary);font-size:14px}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}.section-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 14px;display:flex;flex-direction:column;gap:6px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}.section-tile:active{background:var(--accent-bg)}.section-icon{font-size:24px}.section-label{font-size:14px;font-weight:500}.search-input-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;padding:12px 16px;gap:10px;margin-bottom:16px}.search-input{flex:1;border:none;outline:none;font-size:15px;color:var(--text-primary);background:transparent}.search-input::placeholder{color:var(--text-secondary)}.placeholder-msg{text-align:center;padding:40px 16px;color:var(--text-secondary);font-size:14px;line-height:1.7}.placeholder-msg .emoji{font-size:36px;margin-bottom:12px;display:block}.settings-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:15px}.settings-value{color:var(--text-secondary);font-size:14px}.settings-section-label{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:16px 0 8px}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:var(--nav-h);background:var(--surface);border-top:1px solid var(--border);display:flex;align-items:stretch}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;background:none;border:none;-webkit-tap-highlight-color:transparent;padding:8px 0}.nav-icon{font-size:20px}.nav-label{font-size:10px;color:var(--text-secondary)}.nav-item.active .nav-label{color:var(--accent);font-weight:600}.nav-item.active .nav-icon{filter:none}.safe-notice{font-size:11px;color:var(--text-secondary);text-align:center;padding:12px 0 4px;opacity:.7}
